Gradle wykona wszystkie zadania nie zadeklarowane przy <<
podczas fazy konfiguracji. Jeśli chcesz, aby opóźnić wykonanie zadania aż do fazy realizacji następnie można po prostu dodać <<
w twojej build.gradle
task helloConfiguration { task ->
println "Hello configuration phase task! $task.name"
}
/* Notice the `<<` this denotes to gradle to not execute
* the closure during the configuration phase. Instead
* delay closure's execution till the execution phase.
*/
task helloExecution << { task ->
println "Hello execution phase task! $task.name"
}
helloExecution.dependsOn helloConfiguration
Następnie podczas wykonywania zadania helloExecution
widzimy zarówno bieg, porządek zapewnione. Następnie, jeśli chcemy tylko uruchamiać zadania, które konfigurują kompilację, możemy to zrobić oddzielnie, jeśli chcemy i uruchamiamy tylko jedno zadanie.
$ gradle helloExecution
Hello configuration phase task! helloConfiguration
Hello execution phase task! helloExecution
:helloConfiguration UP-TO-DATE
:helloExecution UP-TO-DATE
BUILD SUCCESSFUL
Total time: 0.64 secs
$ gradle helloConfiguration
Hello configuration phase task! helloConfiguration
:helloConfiguration UP-TO-DATE
BUILD SUCCESSFUL
Total time: 0.784 secs
Zadania, które są uruchamiane w fazie konfiguracji zawsze będą wykonywane nawet jeśli nie są dostarczane zadania, które jest zachowanie I spodziewać się zobaczyć. Tak więc biorąc pod uwagę powyższy przykład. Zauważ, że zadanie konfiguracyjne zostało uruchomione, ale nie wykonanie.
$ gradle
Hello configuration phase task! helloConfiguration
:help
Welcome to Gradle 2.10.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
To see more detail about a task, run gradle help --task <task>
BUILD SUCCESSFUL
Total time: 0.651 secs
Więc jeśli masz 5 zadań, które są uruchamiane w fazie konfiguracji to byś zobaczyć je wszystkie wykonać, niezależnie od zadania Linia komend args próbował powołać na cel w fazie realizacji.
Chcę uruchomić zadanie, które nie jest zależne od żadnego z domyślnych zadań. Po prostu chcesz uruchomić konkretne zadanie, nie jest to możliwe? –
Jeśli wiesz, jakie zadania chcesz wyeliminować, możesz je jawnie określić w linii poleceń 'gradle myTask -x someTaskThatShouldNotRun' – JBirdVegas
Niestety, żadna z tych odpowiedzi nie odpowiada na to pytanie. – JoshuaTree