在 gradle 中同时使用应用程序和分发插件
Using both Application and Distribution plugin in gradle
当使用 distributions
插件时,我有以下代码来设置分发输出中的文件夹结构。
但是现在我必须使用 'application' 插件。
1、这两个插件可以一起使用吗? (抱怨同名任务)
2. 如果没有,如何为应用程序插件实现下面的代码?
distributions {
main {
baseName = appName
contents {
into('bin') { from jar.archivePath }
into('lib') { from configurations.runtime }
into('etc') { from project(':server').file('src/main/other') }
}
}
}
经过评论讨论,以下代码应该有所帮助:
applicationDistribution.from(jar.archivePath) {
into "bin"
}
applicationDistribution.from(configurations.runtime ) {
into "lib"
}
applicationDistribution.from(project(':server').file('src/main/other')) {
into "etc"
}
或者(也许)更短的形式(无法验证)
with(applicationDistribution) {
from(jar.archivePath) { into "bin" }
from(configurations.runtime ) { into "lib" }
from(project(':server').file('src/main/other')) { into "etc" }
}
如前所述:不知道baseName到底是什么,但假设它也可以设置。
当使用 distributions
插件时,我有以下代码来设置分发输出中的文件夹结构。
但是现在我必须使用 'application' 插件。
1、这两个插件可以一起使用吗? (抱怨同名任务)
2. 如果没有,如何为应用程序插件实现下面的代码?
distributions {
main {
baseName = appName
contents {
into('bin') { from jar.archivePath }
into('lib') { from configurations.runtime }
into('etc') { from project(':server').file('src/main/other') }
}
}
}
经过评论讨论,以下代码应该有所帮助:
applicationDistribution.from(jar.archivePath) {
into "bin"
}
applicationDistribution.from(configurations.runtime ) {
into "lib"
}
applicationDistribution.from(project(':server').file('src/main/other')) {
into "etc"
}
或者(也许)更短的形式(无法验证)
with(applicationDistribution) {
from(jar.archivePath) { into "bin" }
from(configurations.runtime ) { into "lib" }
from(project(':server').file('src/main/other')) { into "etc" }
}
如前所述:不知道baseName到底是什么,但假设它也可以设置。