我有一个应用了应用程序插件的 Gradle 构建。应用程序插件还应用分发插件并创建默认main分发,这会将启动脚本放在bin文件夹中,将依赖项放在lib.
现在我想完全删除该默认行为并拥有自己的发行版但名称相同main。更准确地说,我不想要bin和lib文件夹,而是想要我的自定义内容。
我知道我可以轻松定义一个新的发行版,例如
distributions {
my {
// my configuration here
}
}
Run Code Online (Sandbox Code Playgroud)
所以我可以通过myDistZip例如产生所需的分布。
但我想准确地更改main分布,以便我能够通过简单distZip(或distTar)生成存档。
我试图删除主要分布(通过distributions.remove(distributions.main))并创建新的
distributions {
main {
// my configuration here
}
}
Run Code Online (Sandbox Code Playgroud)
但这失败了
Cannot add task ':distZip' as a task with that name already exists.
Run Code Online (Sandbox Code Playgroud)
我想这仅仅是因为 GradledistZip为每个新发行版创建任务,所以它也试图为新发行版这样做main,但是distZip在插件应用程序期间已经创建了任务。
那么,有没有办法改变main分配摆脱bin和lib文件夹?
等级:3.5
但我想完全更改主要发行版,以便我能够通过简单的 distZip (或 distTar)生成存档。
似乎您不必更改main发行版 - 插件的文档distribution(由插件自动添加application)指出对于每个发行版,因此您可以使用gradle myDistZip.
然而,您似乎也应该能够配置现有的main发行版:
distributions {
main {
contents {
// configure
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然您似乎无法重置现有值,但也许您可以使用排除来不复制特定文件夹(请参阅https://docs.gradle.org/current/javadoc/org/gradle/api/file/CopySpec.html)
| 归档时间: |
|
| 查看次数: |
1219 次 |
| 最近记录: |