We have already discussed that the Java plugin adds tasks and source sets to our Gradle project; however, we also get a lot of new properties that we can use. Custom properties of a plugin are set in a
Convention object of the
org.gradle.api.plugins.Convention type. A
Convention object is used by a plugin to expose properties and methods that we can use in our project. The
Convention object of the plugin is added to the
convention property of a project. The
convention property of a Gradle project is a container for all the
Convention objects from the plugins.
We can access the properties from the plugin's
Convention object directly as project properties or we can specify the complete path to the
Convention object of the plugin in order to get to a property or invoke a method.
For example, the
sourceSets property is a property of the
Convention object of the Java plugin. With the following task,
showConvention, we see the different ways that we have in order to access...