создание родительской задачи для вызова подпроектных задач - PullRequest
0 голосов
/ 18 октября 2018

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

apply plugin: 'java'

task buildAll (dependsOn: 
    [ project(':loadRemote').remoteLoadCleanCompileStage,
      project(':load').remoteLoadCleanCompileStage,
      project(':loadRemote').remoteLoadPackage,
      project(':load').loadPackage
    ])

Когда я запускаю эту задачу из командной строки, я получаю сообщение об ошибке:

Не удалось получить неизвестное свойство 'remoteLoadCleanCompileStage' для проекта ': loadRemote' типа org.gradle.api.Project.

Разрешено ли это в gradle?

1 Ответ

0 голосов
/ 18 октября 2018

Вы должны заключить определение задачи buildAll в предложение projectsEvaluated.Действительно, когда вы определяете свою задачу в родительской сборке, подпроекты не были проанализированы, поэтому их задачи еще не известны.

gradle.projectsEvaluated {
    task buildAll (dependsOn:
            [ project(':loadRemote').remoteLoadCleanCompileStage,
              project(':load').remoteLoadCleanCompileStage,
              project(':loadRemote').remoteLoadPackage,
              project(':load').loadPackage
            ])    
}

Пояснения здесь: - https://docs.gradle.org/current/dsl/org.gradle.api.invocation.Gradle.html#org.gradle.api.invocation.Gradle:projectsEvaluated(groovy.lang.Closure)

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