Пропуск подзадачи gradle в подпроекте - PullRequest
0 голосов
/ 22 марта 2019

У меня есть проект rootProject, и в нем есть 5 подпроектов, которые относятся ко всем незанятым проектам. Когда я запускаю gradle build из rootProject, он запускается и запускает gradle build для всех подпроектов. Как мы знаем, задача сборки gradle будет иметь несколько подзадач, таких как clean, compile, test.

У меня есть требование, чтобы, если я запустил сборку gradle из rootProject, он выполнил эту команду для всех подпроектов, кроме подпроекта5. В подпроекте 5 следует пропустить только тестовую подзадачу задачи сборки. В то же время, если я захожу в каталог subproject5 и пытаюсь получить доступ к подзадаче командой gradle test, она должна работать.

Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 01 апреля 2019

Чтобы контролировать выполнение тестового задания для определенного проекта, выполните проверку переданного параметра и используйте этот параметр для удаления тестового задания. Нижеследующее можно использовать в файле build.gradle.

subprojects {
  // Add all other common stuff
  // and as last statement perform the check
  if(project.hasProperty('disableTestForProject5')) {
    project(':project5').tasks.remove(test)
  }
}

Теперь, если вы хотите отключить тест для проекта 5, вы можете запустить сборку как ./gradlew build -PdisableTestForProject5. Если вы не передадите параметр, тест будет выполнен.

Чтобы остановить выполнение теста навсегда, просто удалите условие и поместите project(':project5').tasks.remove(test) в качестве последней строки в блоке subprojects.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...