Выполнить задачу перед андроидом gradle build? возможно ли выполнить gradle задачу перед вызовом gradle build что-то вроде прекомпиляции. Кто-то, пожалуйста, помогите. Что-то вроде этого возможно и как? Ответ 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
Ответ 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