When we create a new task in a build and specify a task with the type
property, we actually configure an existing task. The existing task is called enhanced task in Gradle. For example, the Copy
task type is an enhanced task. We will configure the task in our build file, but the implementation of the Copy
task is in a separate class file. It is good practice to separate the task usage from task implementation. It improves the maintainability and reusability of the task. In this section, we will create our own enhanced tasks.
First, let's see how to create a task to display the current Gradle version in our build by simply adding a new task with a simple action. We have seen these types of tasks earlier in other sample build files. In the following sample build, we will create a new info
task:
task info(description: 'Show Gradle version') << { println "Current Gradle version: $project.gradle.gradleVersion" }
When we...