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 ├── flower └── tree
We learn how we can invoke tasks in a multi-project build as follows:
We will add a new
printInfo
task to each of these projects. The task will print the name of the project toSystem.out
. We must add abuild.gradle
file 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. We can also run
build.gradle
for a specific project with the-b
argument of Gradle. We will get the following output if we run theprintInfo
task for each project:garden $ gradle -q printInfo This is garden garden $ cd tree tree $ gradle -q printInfo This tree tree $ cd .. garden $ gradle...