在 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到底是什么,但假设它也可以设置。