需要在build.gradle中写入条件,如果满足它应该从特定的artifactory下载依赖项

问题描述 投票:0回答:1

我正在设置新的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()
}```
gradle build.gradle release
1个回答
0
投票

就像这样传递它:

-PisRelease=Release

我试过这段代码:

repositories {

    if(project.isRelease == "Release"){
        println("I'm in")
    }

    mavenLocal()
}

并且工作得很好。

enter image description here

更新了解决方案,直接检查版本属性。我已将该版本放在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逻辑。只是一个例子。

希望能帮助到你

© www.soinside.com 2019 - 2024. All rights reserved.