Подтвердить что ты не робот

Выполнить задачу перед андроидом gradle build?

возможно ли выполнить gradle задачу перед вызовом

gradle build

что-то вроде прекомпиляции. Кто-то, пожалуйста, помогите. Что-то вроде этого возможно и как?

4b9b3361

Ответ 1

Вы можете сделать это следующим образом:

task build << {
    println 'build'
}
task preBuild << {
    println 'do it before build'
}
build.dependsOn preBuild

Благодаря этой задаче preBuild будет автоматически вызываться перед задачей build.

Если вы хотите запустить preBuild в фазе конфигурации (предыдущий пример preBuild в фазе execution), вы можете сделать это следующим образом:

task build << {
    println 'build'
}
build.doFirst {
    println 'do it before build'
}

Подробнее о gradle жизненном цикле сборки можно прочитать здесь http://www.gradle.org/docs/current/userguide/build_lifecycle.html.

Ответ 2

Для тех, кто задается вопросом, как это сделать в Android-проекте, это сработало для меня:

task myTask << {
  println "here a task"
}
preBuild.dependsOn myTask

Ответ 3

Есть еще один способ, как это сделать

task myTask << {
    println "here a task"
}
tasks.whenTaskAdded { task ->
if (task.name == 'assembleDebug') {
    task.dependsOn myTask 
}

Ответ 4

Если задача, которая должна быть запущена, уже определена (например, publishToMavenLocal), вы можете добавить ее в gradle build с помощью:

build.dependsOn publishToMavenLocal