我正在设置新的gradle项目,并希望在build.gradle中编写一个条件,以便在满足条件时从某些工件中下载依赖项。
我正在使用project.hasProperty("property")
,我的存储库块如下。
mavenCentral()
if(project.hasProperty("isRelease")){
println("Inside gradle")
maven { url 'release url' }
} else {
println("Inside snapshot")
maven { url 'snapshot url' }
}
mavenLocal()
}```
就像这样传递它:
-PisRelease=Release
我试过这段代码:
repositories {
if(project.isRelease == "Release"){
println("I'm in")
}
mavenLocal()
}
并且工作得很好。
更新了解决方案,直接检查版本属性。我已将该版本放在build.gradle中,但也可以使用gradle.properties中的版本
的build.gradle
version="1.0.0-SNAPSHOT"
repositories {
if (isRelease()){
maven { url 'release url' }
} else {
maven { url 'snapshot url' }
}
mavenLocal()
}
def isRelease() {
if(project.version.contains("SNAPSHOT")){
println("Is a SNAPSHOT")
} else if(!project.version.contains("SNAPSHOT") || project.version.contains("RC")){
println("Is Release")
}
}
当然,您可以使用所需的逻辑修改isRelease
逻辑。只是一个例子。
希望能帮助到你