Как я могу вызвать более одного скрипта gradle в другой скрипт gradle

#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:

Я думаю, что есть две проблемы с вашими скриптами сборки:

  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'
    }
      
  2. По ряду причин вам следует избегать явного выполнения задач с помощью 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. вам просто нужно удалить «<<» из вашего исходного скрипта. остальное просто отлично. Я думаю, вы пропустили «)» в своем комментарии