gradle
Zależności od zadań
Szukaj…
Uwagi
doLast
Należy zauważyć, że w stopniu 3.x bardziej idiomatycznym definiowanie zadania: zamiast tego preferowane jest użycie wyraźnej notacji doLast {zamknięcie} operator „leftShift” (<<). ( LeftShift został wycofany w stopniu 3.2, planuje się jego usunięcie w stopniu 5.0 .)
task oldStyle << {
println 'Deprecated style task'
}
jest równa:
task newStyle {
doLast {
println 'Deprecated style task'
}
}
Dodawanie zależności za pomocą nazw zadań
Możemy zmienić kolejność wykonywania zadań za pomocą metody dependsOn
.
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println "Hello from B"
}
Dodanie `zależy od: powoduje:
- zadanie B zależy od zadania A
- Stopniowanie, aby wykonać zadanie
A
za każdym razem przed wykonaniem zadaniaB
Wyjście to:
> gradle -q B
Hello from A
Hello from B
Dodawanie zależności z innego projektu
project('projectA') {
task A(dependsOn: ':projectB:B') << {
println 'Hello from A'
}
}
project('projectB') {
task B << {
println 'Hello from B'
}
}
Aby odnieść się do zadania w innym projekcie, należy poprzedzić nazwę zadania ścieżką projektu, do którego on należy :projectB:B
Wyjście to:
> gradle -q B
Hello from A
Hello from B
Dodawanie zależności za pomocą obiektu zadania
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
Jest to alternatywny sposób definiowania zależności zamiast używania nazwy zadania .
A wynik jest taki sam:
> gradle -q B
Hello from A
Hello from B
Dodanie wielu zależności
Możesz dodać wiele zależności.
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D << {
println 'Hello from D'
}
Teraz możesz zdefiniować zestaw zależności:
B.dependsOn A
C.dependsOn B
D.dependsOn C
Dane wyjściowe to:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Inny przykład:
B.dependsOn A
D.dependsOn B
D.dependsOn C
Dane wyjściowe to:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Wiele zależności za pomocą metody dependsOn
Możesz dodać wiele zależności.
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'
}
Dane wyjściowe to:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D