我正在尝试构建一个Gradle JAR项目,该项目是另一个项目的子项目,并希望输出JAR文件位于父目录中(具体在父目录的“lib”目录中,或兄弟)。如何为此配置Gradle以及在何处记录?
答案 0 :(得分:15)
在build.gradle
中,添加:
libsDirName = '../../lib'
配置设置显示在java plugin的官方Gradle文档中。
顺便说一句,我完全同意Peter和Hiery给出的评论和答案背后的意图,但有时最简单的解决方案是最好的解决方案。答案 1 :(得分:6)
同意彼得打字的评论。但是我想你想表达的是父项目取决于子模块的输出。表达并确保父模块将子模块的输出复制到其'lib'目录更有意义。
task assembleSubModules(type: Copy) {
destinationDir = file("lib")
into("lib") {
project.subprojects.each { p ->
from(p.tasks.withType(Jar)*.outputs)
}
}
}