我们的项目包含多个模块,每个模块都是独立构建的,并且jar文件位于每个模块的build / libs目录中。为了将它们部署到我们的远程位置,必须将每个模块的/ build / libs目录中的所有jar文件收集(复制)到一个目录中。我创建了一个复制任务,希望from子句可以接受通配符,但是我错了。现在,我将模块手动添加到from子句中,但是显然必须有一个更好的解决方案。作为gradle脚本的新手,我将不胜感激。
答案 0 :(得分:1)
有多种解决方案可在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
任务之间创建所需的依赖关系。