Gradle 如何仅对一个“文件”执行重命名;从「;在梯度复制任务中?

Gradle 如何仅对一个“文件”执行重命名;从「;在梯度复制任务中?,gradle,copy,task,rename,Gradle,Copy,Task,Rename,我试图在一个Gradle复制任务中从多个“发件人”位置复制。对于其中一个(而且只有一个),我还想执行重命名操作 此代码适用于: task dist(type: Copy) { from task1 rename { filename -> filename.replace '-all.jar', '.jar' } from task2 { exclude "lib" } into "${projectDir}/dist" } 但重命名操作也会影响task2

我试图在一个Gradle复制任务中从多个“发件人”位置复制。对于其中一个(而且只有一个),我还想执行重命名操作

此代码适用于:

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
上的排除操作按预期工作。可能吗?语法中是否有遗漏?

有人在此处发布了解决方案,并在我接受/回复之前将其删除,因此我在此处发布了正确的表单,以供将来参考:

task dist(type: Copy) {
    from (task1) { rename { filename -> filename.replace '-all.jar', '.jar' } }
    from (task2) { exclude "lib" }
    into "${projectDir}/dist"
}
谢谢,奥帕洛