gradle
Dependencias de tareas
Buscar..
Observaciones
DoLast
Tenga en cuenta que en una definición de tarea de forma gradle 3.x más idiomática: usar la notación explícita doLast {closing} en lugar del operador "leftShift" (<<) es preferible. ( LeftShift ha sido desaprobado en un gradle 3.2 está programado para eliminarse en gradle 5.0 .)
task oldStyle << {
println 'Deprecated style task'
}
es equivalente a:
task newStyle {
doLast {
println 'Deprecated style task'
}
}
Agregando dependencias usando nombres de tareas
Podemos cambiar el orden de ejecución de las tareas con el método dependsOn
.
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println "Hello from B"
}
Añadiendo `Dependiente: causa:
- la tarea B depende de la tarea A
- Gradle para ejecutar
A
tarea cada vez antes de la ejecución de la tareaB
Y la salida es:
> gradle -q B
Hello from A
Hello from B
Añadiendo dependencias de otro proyecto.
project('projectA') {
task A(dependsOn: ':projectB:B') << {
println 'Hello from A'
}
}
project('projectB') {
task B << {
println 'Hello from B'
}
}
Para hacer referencia a una tarea en otro proyecto, debe prefijar el nombre de la tarea con la ruta del proyecto al que pertenece :projectB:B
Y la salida es:
> gradle -q B
Hello from A
Hello from B
Agregando dependencia usando el objeto de tarea
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
Es una forma alternativa de definir la dependencia en lugar de usar el nombre de la tarea .
Y la salida es la misma:
> gradle -q B
Hello from A
Hello from B
Añadiendo múltiples dependencias
Puede agregar múltiples dependencias.
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D << {
println 'Hello from D'
}
Ahora puedes definir un conjunto de dependencias:
B.dependsOn A
C.dependsOn B
D.dependsOn C
La salida es:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Otro ejemplo:
B.dependsOn A
D.dependsOn B
D.dependsOn C
La salida es:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Múltiples dependencias con el método Depende
Puede agregar múltiples dependencias.
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'
}
La salida es:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D