Gradle – an object-oriented build tool
If we were to think of a build system in an object-oriented way, the following classes will immediately come to our minds:
A
project
that represents a system that is being builtA
task
that encapsulates pieces of build logics that need to be performed
Well, we are lucky. As we might expect, Gradle creates objects of both project
and task
types. These objects are accessible in our build script for us to customize. Of course, the underlying implementation is non-trivial and the API is very sophisticated.
A project
object is a central piece of API that is exposed to and configured via the build scripts. A project
object is available in the script such that the methods without object reference are intelligently invoked on the project
object. We have just seen an example of this in the last section. Most of the build script syntax can be understood by just reading the project API.
The task
objects are created for each task declared directly in the build file...