Как пройти по дереву каталогов, найти файлы jar и скопировать их в один каталог после фазы сборки в скрипте сборки gradle - PullRequest
0 голосов
/ 28 января 2019

Наш проект содержит несколько модулей, каждый из которых собран независимо, а файл jar находится в каталоге каждого модуля build / libs.Чтобы развернуть их в нашем удаленном местоположении, необходимо собрать (скопировать) все файлы jar из каталога / build / libs каждого модуля в один каталог.Я создал задачу копирования, надеясь, что предложение from будет принимать подстановочные знаки, но я ошибся.Теперь я добавляю модули вручную в предложение from, но, очевидно, должно быть лучшее решение для этого.Как новичок в написании скриптов, я был бы признателен за любую помощь.

1 Ответ

0 голосов
/ 28 января 2019

Существуют различные решения для реализации этого в Gradle, один простой способ - использовать закрытие subprojects для настройки предложения from в вашей задаче копирования:

// a task which collects all jar files produced by the subprojects
task "collectAllJars"(type: Copy) {
    // destination directory in parent root project
    into file("$buildDir/collectedJars")

    // loop over subprojects and include there produced jars
    subprojects.each { sp ->
        from ("$sp.buildDir/libs"){
            include "*.jar"
        }
    }
}

. Вам понадобитсясоздать необходимые зависимости между этой задачей collectAllJars и другими задачами build из подпроектов.

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