Working with multi-project builds
Let's start with a simple multi-project structure. We have a root project called garden
with two other projects, tree
and flower
. The project structure is as follows:
garden/ tree/ flower/
We will add a new task printInfo
to each of these projects. The task will print out the name of the project to System.out
. We must add a file build.gradle
to each project, with the following contents:
task printInfo << { println "This is ${project.name}" }
To execute the task for each project, we must first enter the correct directory and then invoke the task with Gradle. Or, we run build.gradle
for a specific project with the -b
argument of Gradle. We get the following output, if we run the task for each project:
garden $ gradle -q printInfo This is garden garden $ cd tree tree $ gradle -q printInfo This is tree tree $ cd .. garden $ gradle -b flower/build.gradle printInfo This is flower
We have multiple projects, but we haven't used Gradle's support for...