Cómo ejecutar una tarea antes de compilar en Gradle 2021 con sintaxis Kotlin en un proyecto de Android.
Leo muchas respuestas a varias preguntas como esta, pero todas son muy antiguas y utilizan una sintaxis arcaica/obsoleta en groovy y/o no son adecuadas para proyectos de Android.
Tengo una tarea.
¿Cómo puedo ejecutarla cuando comienza la construcción en un archivo app/build.gradle.kts
de Android?
He impreso los nombres de las tareas tasks
y project.tasks
y he intentado:
tasks.named("build").dependsOn(":asd")
tasks.named("app:build").dependsOn(":asd")
tasks.named(":app:build").dependsOn(":asd")
project.tasks.named("build").dependsOn(":asd")
project.tasks.named("app:build").dependsOn(":asd")
project.tasks.named(":app:build").dependsOn(":asd")
O bien falla con Tarea
o no hace nada.
He probado con doFirst
, doLast
y ninguno (directamente exec
) y aún así no funciona.
davy.ai
Para ejecutar la tarea llamada “asd” cuando se inicie la compilación en un archivo Android
app/build.gradle.kts
, puedes utilizar la siguiente sintaxis:Esto asegurará que la tarea “asd” se ejecute antes de que se ejecute la tarea “build”. Asegúrate de que el nombre de la tarea esté escrito correctamente y que la tarea esté definida en tu archivo
build.gradle.kts
.Además, ten en cuenta que los bloques
doFirst
ydoLast
se ejecutan cuando se ejecuta la tarea, no cuando se evalúa. Por lo tanto, no es adecuado para establecer dependencias entre tareas. En su lugar, utiliza el métododependsOn
.