我正在尝试从单个Gradle Copy任务中的多个“from”位置进行复制。对于其中一个 - 并且只有一个 - 我还想执行重命名操作。
此代码有效:
task dist(type: Copy) {
from task1
rename { filename -> filename.replace '-all.jar', '.jar' }
from task2 { exclude "lib" }
into "${projectDir}/dist"
}
但重命名操作也会影响task2
。我试着这样做:
task dist(type: Copy) {
from task1 { rename { filename -> filename.replace '-all.jar', '.jar' } }
from task2 { exclude "lib" }
into "${projectDir}/dist"
}
但它没有进行重命名操作。 task2
上的排除操作按预期工作。可能吗?我在语法中遗漏了什么吗?
答案 0 :(得分:2)
有人在此处发布了解决方案并在我接受/回复之前将其删除,因此我在此处发布了正确的表单以供将来参考:
task dist(type: Copy) {
from (task1) { rename { filename -> filename.replace '-all.jar', '.jar' } }
from (task2) { exclude "lib" }
into "${projectDir}/dist"
}
谢谢,Opalo!