【问题标题】:Zip directory to multiple destinations using Gradle使用 Gradle 将目录压缩到多个目的地
【发布时间】:2020-10-02 08:09:38
【问题描述】:

Gradle 的 Zip 任务是否可以将生成的 zip 复制到多个目的地?

AFAIK 你只能压缩多个输入目录,只有一个输出目标。有没有办法压缩目录并将存档复制到多个目的地(在一个任务中)?由于我一定会使用 Gradle v5.0,因此非常感谢该版本的 Gradle 的解决方案。

【问题讨论】:

    标签: java gradle build zip


    【解决方案1】:

    Zip 任务的内部操作只会将 zip 文件输出到单个目录。如果您不想创建额外的Copy 任务,您可以使用doLast 闭包并使用Project 实例提供的方法copy

    task myZip(type: Zip) {
        ...
        doLast {
            copy {
                from archivePath
                into 'path/to/other/destination'
            }
        } 
    } 
    

    【讨论】:

    • 谢谢!这似乎是一种更方便的方式。
    【解决方案2】:

    我建议您使用Copy task 进行复制,并可能在Zip 任务上添加'finalizedBy' statement

    复制到多个目的地涵盖here

    【讨论】:

    • 感谢您的回答。这就是我采用的方法。尽管如此,我仍然对你如何做这样的事情或者目前是否可能感兴趣。似乎您必须为实际上应该执行该任务的任务(zip)编写一个不必要的(复制)任务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2017-10-11
    相关资源
    最近更新 更多