gradle
Dipendenze delle attività
Ricerca…
Osservazioni
doLast
Nota che in un gradle 3.x la definizione del task in modo più idiomatico: usando la notazione esplicita doLast {closure} invece preferibile l'operatore "leftShift" (<<). ( LeftShift è stato deprecato in un gradle 3.2 è programmato per essere rimosso in gradle 5.0 .)
task oldStyle << {
println 'Deprecated style task'
}
è equivalente a:
task newStyle {
doLast {
println 'Deprecated style task'
}
}
Aggiunta di dipendenze usando i nomi delle attività
Possiamo cambiare l'ordine di esecuzione delle attività con il metodo dependsOn
.
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println "Hello from B"
}
Aggiungere `dependsOn: cause:
- l'attività B dipende dall'attività A
- Gradle eseguire
A
ogni compito prima delB
esecuzione dell'attività.
E l'output è:
> gradle -q B
Hello from A
Hello from B
Aggiunta di dipendenze da un altro progetto
project('projectA') {
task A(dependsOn: ':projectB:B') << {
println 'Hello from A'
}
}
project('projectB') {
task B << {
println 'Hello from B'
}
}
Per fare riferimento a un'attività in un altro progetto, si precede il nome dell'attività con il percorso del progetto a cui appartiene :projectB:B
E l'output è:
> gradle -q B
Hello from A
Hello from B
Aggiunta di dipendenza utilizzando l'oggetto compito
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
È un modo alternativo per definire la dipendenza anziché utilizzare il nome dell'attività.
E l'output è lo stesso:
> gradle -q B
Hello from A
Hello from B
Aggiunta di dipendenze multiple
È possibile aggiungere più dipendenze.
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D << {
println 'Hello from D'
}
Ora puoi definire una serie di dipendenze:
B.dependsOn A
C.dependsOn B
D.dependsOn C
L'output è:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Altro esempio:
B.dependsOn A
D.dependsOn B
D.dependsOn C
L'output è:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Dipendenze multiple con il metodo dependsOn
È possibile aggiungere più dipendenze.
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D(dependsOn: ['B', 'C'] << {
println 'Hello from D'
}
L'output è:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D