排除 Gradle tar/zip 工件内的基本目录

Jus*_*wis 3 tar gradle

maven程序集插件有一个includeBaseDirectory选项(当设置为 false 时)可以避免在 tar/zip 工件内出现与工件本身同名的单个顶级目录。

我想用 Gradle 达到相同的结果,但我不知道如何实现。我正在使用这样的配置:

task distTar(type: Tar) {
    compression Compression.GZIP
    extension "tar.gz"
}
Run Code Online (Sandbox Code Playgroud)

我没有看到任何满足我要求的Tar 任务选项。如何使用 Gradle 排除存档中的基本目录?

ssc*_*rth 5

通过重新配置分发插件(由应用程序插件隐式应用),您可以简单地执行以下操作(在 Kotlin DSL 中):

distributions {
    main {
        contents {
            into("/")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这会影响TarZip格式的输出。

(免责声明:这个答案大致基于此 Gradle 论坛帖子)。