A Gradle build has three distinct phases.
Gradle supports single and multi-project builds. During the initialization phase, Gradle determines which projects are going to take part in the build, and creates a Project instance for each of these projects.
During this phase the project objects are configured. The build scripts of all projects which are part of the build are executed.
Gradle determines the subset of the tasks, created and configured during the configuration phase, to be executed. The subset is determined by the task name arguments passed to the
gradlecommand and the current directory. Gradle then executes each of the selected tasks.