#gradle
#gradle
Вопрос:
Я конвертирую ant-скрипт в gradle.У меня есть следующие изменения
<ant antfile="build.xml"
target="clean"/>
task buildclean(type: GradleBuild)<< {
buildFile ='build.gradle'
tasks['clean']
}
task buildelocket(type: GradleBuild)<< {
buildFile ='bussniess/build.gradle'
tasks['elocket']
}
этот скрипт gradle вызывает еще три других скрипта gardle.Когда я вызвал задачу buildclean из другой задачи в том же скрипте gradle, она не работает должным образом
task callingtasks <<{
tasks.buildclean.excute()
tasks.buildelocket.excute()
}
Как я могу вызвать более одного скрипта gradle в другой скрипт gradle
Ответ №1:
Я думаю, что есть две проблемы с вашими скриптами сборки:
-
удалите «<<» в задачах buildclean и buildelocket. << — это ярлык для doLast{}, но buidfile и свойство task задач типа GradleBuild должны быть установлены в configurationphase, а не на этапе выполнения:
task buildclean(type: GradleBuild) { buildFile ='build.gradle' tasks << 'clean' } task buildelocket(type: GradleBuild){ buildFile ='bussniess/build.gradle' tasks << 'elocket' }
-
По ряду причин вам следует избегать явного выполнения задач с помощью execute(). Попробуйте
task callingtasks(dependsOn: ['buildclean', 'buildelocket']){ }
Комментарии:
1. задача buildall(dependsOn: [‘cleanBusinessServices’,’dleisejbdoclet’] { }
2. Я добавил task buildall(dependsOn: [‘cleanBusinessServices’,’dleisejbdoclet’] {}
3. Я добавил следующее в свою задачу скрипта buildall(dependsOn: [‘cleanBusinessServices’,’dleisejbdoclet’] {}, но это вызывает исключение * Что пошло не так: не удалось скомпилировать файл сборки’C:develampamp-buildbuild.gradle ‘. Причина: сбой запуска: файл сборки ‘C:develampamp-buildbuild.gradle ‘: 470: неожиданный токен: импорт @ строка 470, столбец 1. импорт org.gradle. * ^
4. Не могли бы вы, пожалуйста, показать мне, как я устанавливаю buildfile и свойство task типа GradleBuild на этапе настройки?
5. вам просто нужно удалить «<<» из вашего исходного скрипта. остальное просто отлично. Я думаю, вы пропустили «)» в своем комментарии