【问题标题】:How do I perform a rename on only one "from" in a Gradle Copy task?如何在 Gradle Copy 任务中仅对一个“来自”执行重命名?
【发布时间】:2018-09-14 19:29:54
【问题描述】:

我正在尝试从单个 Gradle Copy 任务的多个“来自”位置进行复制。对于其中之一 - 只有一个 - 我还想执行重命名操作。

此代码有效:

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 上的排除操作按预期工作。可能吗?我在语法中遗漏了什么吗?

【问题讨论】:

    标签: gradle copy task rename


    【解决方案1】:

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

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

    谢谢,欧帕洛!

    【讨论】:

      猜你喜欢
      • 2016-11-10
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多