A)¿Cuál es la diferencia entre estas sintaxis de definición de tareas en gradle?
task build << {
description = "Build task."
ant.echo('build')
}
B)
task build {
description = "Build task."
ant.echo('build')
}
Me he dado cuenta de que con el tipo B, el código dentro de la tarea parece ser ejecutado al escribir gradle -t
- hormiga hace eco a cabo 'construir' incluso cuando simplemente lista todas las diversas tareas disponibles. La descripción también se muestra realmente con el tipo B. Sin embargo, con el tipo A, no se ejecuta código cuando se enumeran las tareas disponibles, y la descripción no se muestra al ejecutar gradle -t
. No parece que los documentos entren en la diferencia entre estas dos sintaxis (que he encontrado), solo que puede definir una tarea de cualquier manera.
así que si usted tiene tanto el código que necesita ser ejecutado para configurar la tarea, así como el código a ser ejecutado cuando la tarea se llama, la sintaxis B con un cierre doLast es el camino a seguir. – bergyman
Parece que la sintaxis de definición de tarea '<<' se está eliminando con [Gradle 3.0] (https://github.com/gradle/gradle/blob/master/design-docs/gradle-3.0.md#clean-up- task-dsl-and-hierarchy)? – mkobit