我的Gradle脚本中有一些奇怪的问题。基本上我试图将特定配置中的所有文件复制到文件夹中,复制任务始终是最新的。
我有多级项目,在子项目部分我应用java插件然后创建配置只是为了将文件从Nexus下载到我们将用于不同目的的文件夹中。但是如果我在复制任务中使用自定义配置它说总是很好但是如果我在编译配置中提到那些文件那么它就可以复制了。
以下代码无效
subprojects{
apply plugin : 'java'
//version is set from Jenkins job
version=System.env['version']
configurations{
downloadProjectAFiles
downloadProjectBFiles
}
dependencies{
downloadProjectAFiles 'com.project.test:ProjectA:version'
downloadProjectAFiles 'com.project.test:ProjectA:version'
}
}
task copyProjectA(type : Copy){
outputs.upToDateWhen { false }
from project(':ProjectA').configurations.downloadProjectAFiles
into someFolder
}
task copyProjectB(type : Copy){
outputs.upToDateWhen { false }
from project(':ProjectB').configurations.downloadProjectBFiles
into someFolder
}
copyProjectB.dependsOn('copyProjectA')
以下代码正在运作
subprojects{
apply plugin : 'java'
//version is set from Jenkins job
version=System.env['version']
configurations{
downloadProjectAFiles
downloadProjectBFiles
}
dependencies{
compile 'com.project.test:ProjectA:version'
compile 'com.project.test:ProjectA:version'
}
}
task copyProjectA(type : Copy){
outputs.upToDateWhen { false }
from project(':ProjectA').configurations.compile
into someFolder
}
task copyProjectB(type : Copy){
outputs.upToDateWhen { false }
from project(':ProjectB').configurations.compile
into someFolder
}
copyProjectB.dependsOn('copyProjectA')