-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.gradle.kts
61 lines (53 loc) · 1.56 KB
/
settings.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) // TODO required by KMP
repositories {
google()
mavenCentral()
maven { setUrl("https://jitpack.io") }
}
defaultLibrariesExtensionName.set("projectLibs")
versionCatalogs {
create("libs") {
from(files("gradle/libs.versions.toml"))
}
}
}
rootProject.name = "pdx-mobile"
includeBuild("sources/plugins")
includeRecursive("sources")
fun includeRecursive(path: String) {
val dir = file(path)
dir.walkTopDown().maxDepth(5).forEach { subDir ->
if (isModule(subDir)) {
val moduleName = createModuleName(subDir, dir)
// TODO reenable baseline
if (!moduleName.startsWith(":plugins") && !moduleName.endsWith(":baseline")) {
include(moduleName)
project(moduleName).projectDir = subDir
}
}
}
}
fun isModule(dir: File): Boolean {
return File(dir, "build.gradle").exists() || File(dir, "build.gradle.kts").exists()
}
fun createModuleName(subDir: File, dir: File): String {
var moduleName = ":${subDir.name}"
var currentDir = subDir.parentFile
while (currentDir != null) {
moduleName = ":${currentDir.name}" + moduleName
currentDir = if (currentDir == dir) {
null
} else {
currentDir.parentFile
}
}
return moduleName.removePrefix(":sources")
}