-
Notifications
You must be signed in to change notification settings - Fork 7
/
settings.gradle
28 lines (20 loc) · 926 Bytes
/
settings.gradle
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
import java.nio.file.Files
import java.nio.file.Paths
def excludingProjects = ['buildSrc'] as Set
def discoverSubprojects
discoverSubprojects = { File baseFolder, File currentFolder, List toCollection ->
currentFolder.eachDir() { dir ->
def relative = baseFolder.toPath().relativize(dir.toPath())
def projectName = relative.toString().replace(File.separatorChar, ':' as char)
if (Files.exists(Paths.get(dir.getAbsolutePath(), 'build.gradle')) && Files.exists(Paths.get(dir.getAbsolutePath(), 'src'))) {
println "Found project: ${projectName}"
if (!excludingProjects.contains(projectName)) {
toCollection.add(projectName)
}
} else {
discoverSubprojects(baseFolder, dir, toCollection)
}
}
return toCollection
}
include discoverSubprojects(rootDir, new File(rootDir, "java"), new ArrayList()) as String[]