gpt4 book ai didi

gradle - 覆盖主项目中定义的gradle选项

转载 作者:行者123 更新时间:2023-12-03 05:17:30 28 4
gpt4 key购买 nike

我通过添加所有subprojects的上传存档目录

uploadArchives {
repositories {
flatDir {dirs '../REPO'}
}
}

现在,我需要为一个子项目指定一个不同的目录。

我发现这样做会添加到列表中,但是我想替换目录。我知道我可以使用 subprojects.findAll,但是我还需要覆盖其他地方的设置。

免责声明:我的问题听起来很愚蠢,但是由于几个星期以来我一直在使用gradle,必须承认,我对此一无所知。我喜欢它,并且效果很好,但是阅读手册不是一个选择(我只是一个BFU,我希望在阅读全部内容之前先切换到makefile)。

最佳答案

通常,最干净的解决方案是从一开始就以正确的方式配置事物。有几种方法可以做到这一点。例如:

rootProject / build.gradle:

configure(subprojects - project(":foo")) {
uploadArchives {
repositories {
flatDir {dirs '../REPO'}
}
}
}

project(":foo") {
uploadArchives {
repositories {
flatDir {dirs '../OTHER'}
}
}
}

或者,您可以有两个辅助脚本 gradle/repoA.gradlegradle/repoB.gradle,并且每个子项目构建脚本都将使用带有 apply from: "$rootDir/gradle/repoX.gradle"的适当脚本。

最后,覆盖值也可能起作用(未经测试):

rootProject / subproject / build.gradle:
uploadArchives.repositories[0].dirs = ["../OTHER"]    

PS:现在去学习Gradle。 :-)

关于gradle - 覆盖主项目中定义的gradle选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23878969/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com