我设置了一个多模块Gradle构建,其中包含多个模块。我想做的事情非常简单-创建发行版时,我总是想使用一个名为“ dist / lib”的目录,但有一个项目除外,该项目的目录应该只是“ dist”。
显而易见的解决方案-创建一个名为“ distLibDir”的变量,并针对特定的项目覆盖该变量,似乎无效。
这是子模块的代码:
project.version = '1.1'
project.ext.distLibDir = 'dist'
dependencies {
....
}
Run Code Online (Sandbox Code Playgroud)
这是顶级项目的代码:
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
if (! project.hasProperty('distLibDir')) {
project.ext.distLibDir = 'dist/lib'
}
task copyLib(type: Copy) {
into project.distLibDir
from configurations.runtime
}
task dist(type: Copy, dependsOn: [clean, jar, copyLib]) {
from 'build/libs'
into project.distLibDir
}
}
Run Code Online (Sandbox Code Playgroud)
不管我尝试什么,该目录始终显示为“ dist / lib”,并且我无法覆盖该目录以使该模块与众不同。有谁洞悉这里出了什么问题?
gradle ×1