Gradle gives us the flexibility to create one build file for all projects or individual build file per project; you can also mix and match. Let's start with adding a simple task to our root project's build.gradle
:
task sayHello << { println "Hello from multi-project build" }
We are creating a task with an action that just prints a message. Now, let's check what tasks are available on our root project. From the root
directory, let's call the task tasks
:
$ gradle tasks ... Other tasks ----------- sayHello ....
No wonder, the sayHello
task is available on the root project. However, what if we just want to see the tasks available on a subproject? Let's say :repository
. For a multiproject build, we can call tasks on any nested project using the gradle <project-path>:<task-name>
syntax or by going into the subproject directory and executing gradle <task-name>
. So now, if we execute the following code, we won't see the sayHello...