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

2024-02-05

The Maven 组装插件 https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html has an includeBaseDirectory选项(当设置为 false 时)避免在 tar/zip 工件内出现与工件本身同名的单个顶级目录。

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

task distTar(type: Tar) {
    compression Compression.GZIP
    extension "tar.gz"
}

我没有看到任何选项焦油任务 https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Tar.html做我想做的事。如何使用 Gradle 排除存档中的基本目录?


通过重新配置分发插件 https://docs.gradle.org/current/userguide/distribution_plugin.html#distribution_plugin(这被隐式应用应用程序插件 https://docs.gradle.org/current/userguide/application_plugin.html)你可以简单地做(在​​ Kotlin DSL 中):

distributions {
    main {
        contents {
            into("/")
        }
    }
}

这会影响两者的输出Tar and Zip格式。

(免责声明:这个答案大致基于这个 Gradle 论坛帖子 https://discuss.gradle.org/t/distributions-strip-top-level-directory/14873/3).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

排除 Gradle tar/zip 工件内的基本目录 的相关文章

随机推荐