我有一个应用了应用程序插件的Gradle构建 . 应用程序插件还应用分发插件并创建默认 main
分发,它将启动脚本放在 bin
文件夹中,依赖项放在 lib
中 .
现在我想完全删除该默认行为并拥有自己的发行版,但名称相同 main
. 更确切地说,我不想要 bin
和 lib
文件夹,并希望我的自定义内容 .
我知道我可以很容易地定义一个新的发行版
distributions {
my {
// my configuration here
}
}
所以我可以通过 myDistZip
产生所需的分布 .
但我想完全改变 main
分布,这样我就可以通过简单的 distZip
(或 distTar
)生成存档 .
我试图删除主要发行版(通过 distributions.remove(distributions.main)
)并创建一个新发行版
distributions {
main {
// my configuration here
}
}
但是失败了
Cannot add task ':distZip' as a task with that name already exists.
我想这只是因为Gradle为每个新发行版创建了 distZip
任务,所以它也试图为新的 main
做,但是在插件应用程序中已经创建了 distZip
任务 .
那么有没有办法改变 main
发布以摆脱 bin
和 lib
文件夹?
Gradle:3.5
1 回答
看起来您不必更改
main
发布 -distribution
插件的文档(由application
插件自动添加)注意到每个发行版,因此您可以使用gradle myDistZip
.但是,您似乎也应该能够配置现有的
main
发行版:虽然您似乎无法重置现有值,但也许您可以使用排除项来不复制特定文件夹(请参阅https://docs.gradle.org/current/javadoc/org/gradle/api/file/CopySpec.html)