Gradle Task: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 25: Line 25:
[[Gradle_Plugins#Overview|Plugins]] that have been applied to the project may come with their own tasks. This is a non-exhaustive list:
[[Gradle_Plugins#Overview|Plugins]] that have been applied to the project may come with their own tasks. This is a non-exhaustive list:


* Java plugin tasks
* [[Gradle_Java_Plugin#Tasks|Java Plugin Tasks]]


==Explicit Task Declaration==
==Explicit Task Declaration==

Revision as of 23:04, 17 May 2018

External

Internal

Overview

A task is a core Gradle concept. It represents a single atomic piece of work for a build, such as compiling classes or generating javadoc. A build consists in executing a sequence of tasks in succession. Gradle computes the Directed Acyclic Graph of to be executed in order to fulfill the tasks specified on command line, and then executes them honoring inter-task dependencies and insuring the fact that a task is executed only once. Gradle builds the complete dependency graph before any tasks is executed.

All tasks known to a build can be displayed with:

gradle tasks

The tasks known to a specific project can be displayed with:

gradle :<project-path>:tasks

Task Sources

Tasks From Plugins

Plugins that have been applied to the project may come with their own tasks. This is a non-exhaustive list:

Explicit Task Declaration

Tasks may be explicitly declared in build.gradle using Project's task() method. As an example, of the simplest possible task declarations is:

task sample {
    println 'this is a simple task'
}

A task declared as above will be executed during the configuration phase, not execution. Investigate, this seems odd.

Task Types

TODO: https://docs.gradle.org/current/dsl/#N10376