我有一个Gradle复制任务设置,可以发布未修饰的JAR文件进行测试和调试,即。
任务定义:
task copyJarToStaging( type: Copy ) {
from jar // shortcut for createJar.outputs.files
into ( "${rootProject.rootDir}/dist/" )
rename( '-.*\\.jar', ".jar" )
}
可以将一个JAR文件放到一个目录中。真正需要的是将JAR放入“
dist/
”下的一个或多个不同的文件夹中。经过多次试验(和错误),我发现此版本对我有用。
调用复制任务:
// build.gradle (module)
assemble.dependsOn copyJarToStaging {
println "into ==> ${destinationDir}/support"
into "${destinationDir}/support/"
}
但是,它闻起来并不正确。
有更清洁的替代方法吗?例如,我希望将闭包仅附加到
into
属性-但是没有成功。如果我想在不同的地方使用相同的文件,最好做一些类似的事情,例如将
into
字符串和yield
取回每个值。这可能是全部还是部分?或者,我在做梦吗???
最佳答案
通常,您将创建多个复制任务
['dev', 'staging', 'uat', 'prod'].each { String dir ->
Task task = tasks.create("copyJarTo${dir.capitalize()}", type: Copy) {
from jar
into "dist/$dir"
}
assemble.dependsOn task
}
关于gradle - 如何在执行时修改复制任务的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43200494/