Gradle > Multi-Project


Authoring Multi-Project Builds

sample code

The code for this example can be found at

gradle/subprojects/docs/src/samples/userguide/multiproject/firstExample/water at master · gradle/gradle

Example 2.

Build script of water (parent) project

build.gradle.kts
val cl = Action<Task> { println("I'm ${this.project.name}") }
tasks.register("hello") { doLast(cl) }
project(":bluewhale") {
    tasks.register("hello") { doLast(cl) }
}

gradleを実行してみる

> gradle -q hello


実行結果
I'm water
I'm bluewhale

Example 4.

Water project build script

build.gradle.kts
allprojects {
    tasks.register("hello") {
        doLast {
            println("I'm ${this.project.name}")
        }
    }
}

gradleを実行してみる

> gradle -q hello


実行結果
I'm water
I'm bluewhale
I'm krill

Example 5.

Water project build script

build.gradle.kts
allprojects {
    tasks.register("hello") {
        doLast {
            println("I'm ${this.project.name}")
        }
    }
}
subprojects {
    tasks.named("hello") {
        doLast {
            println("- I depend on water")
        }
    }
}

gradleを実行してみる

> gradle -q hello


実行結果
I'm water
I'm bluewhale
- I depend on water
I'm krill
- I depend on water