我正在通过
为所有subprojects
添加上传档案目录
uploadArchives {
repositories {
flatDir {dirs '../REPO'}
}
}
现在我需要为一个子项目指定一个不同的目录。
我发现将添加添加到列表中,但我想替换目录。我知道我可以使用subprojects.findAll
,但我也需要在其他地方覆盖设置的可能性。
免责声明:我的问题可能听起来很愚蠢,但我几周后就开始使用gradle而且必须承认,我对此几乎一无所知。我喜欢它并且它工作正常,但阅读手册不是一个选项(我只是一个BFU,我宁愿在阅读之前切换到makefile)。
答案 0 :(得分:1)
通常,最干净的解决方案是从一开始就以正确的方式配置事物。有几种方法可以做到这一点。例如:
rootProject /的build.gradle:
configure(subprojects - project(":foo")) {
uploadArchives {
repositories {
flatDir {dirs '../REPO'}
}
}
}
project(":foo") {
uploadArchives {
repositories {
flatDir {dirs '../OTHER'}
}
}
}
或者,您可以有两个辅助脚本gradle/repoA.gradle
和gradle/repoB.gradle
,每个子项目构建脚本都会将适当的脚本应用于apply from: "$rootDir/gradle/repoX.gradle"
。
最后,覆盖该值也可能有效(未经测试):
rootProject /子项目/的build.gradle:
uploadArchives.repositories[0].dirs = ["../OTHER"]
PS:现在去学习一些Gradle。 : - )