Gradle - 如何在没有父目录的情况下创建distZip?

时间:2016-02-16 08:51:45

标签: gradle

Gradle的distZip任务会创建一个具有以下结构的zip

MyApp.zip
`-- MyApp
    |-- bin
    |   |-- ...
    `-- lib
        |-- ...

如何跳过父目录,只需压缩下面的文件

MyApp.zip
|-- bin
|   |-- ...
`-- lib
    |-- ...

1 个答案:

答案 0 :(得分:7)

默认情况下这是不可能的,但是可以将所有文件归档到最终的zip文件中并修改它在此zip文件中的目标路径,如下所示:

distZip {
    eachFile { file ->
        String path = file.relativePath
        file.setPath(path.substring(path.indexOf("/")+1,path.length()))
    }
}

这是添加的其他distZip任务配置,它修改了最终zip-archive中每个文件的目标路径,从中删除了根文件夹。在您的情况下,它将从zip中删除MyApp文件夹。