-
Notifications
You must be signed in to change notification settings - Fork 6
/
settings.gradle
39 lines (34 loc) · 1.56 KB
/
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
28
29
30
31
32
33
34
35
36
37
38
39
include ":core"
include ":multibindings"
rootProject.name = 'kotlin-guiced'
rootProject.buildFileName = "build.gradle.kts"
/**
* This configures the gradle build so we can use non-standard build file names.
* Additionally, this project can support sub-projects who's build file is written in Kotlin.
*
* @param project The project to configure.
*/
def configureGradleBuild(ProjectDescriptor project) {
final String fileBaseName = project.name
final String projectBuildFileBaseName = fileBaseName
final File gradleBuild = new File(project.projectDir, "${projectBuildFileBaseName}.gradle")
final File kotlinBuild = new File(project.projectDir, "${projectBuildFileBaseName}.gradle.kts")
assert !(gradleBuild.exists() && kotlinBuild.exists()),
"Project ${project.name} can not have both a ${gradleBuild.name} and a ${kotlinBuild.name} file. " +
"Rename one so that the other can serve as the base for the project's build"
if (gradleBuild.exists()) {
project.buildFileName = "$gradleBuild.name"
} else if (kotlinBuild.exists()) {
project.buildFileName = "$kotlinBuild.name"
} else {
assert false,
"Project `${project.name}` must have a either a file " +
"containing ${gradleBuild.name} or ${kotlinBuild.name}"
}
if (project != rootProject) {
project.name = rootProject.name + "-" + project.name
}
// Any nested children projects also get configured.
project.children.each { configureGradleBuild(it) }
}
configureGradleBuild rootProject