正确设置gradle属性的默认值

Tai*_*air 6 groovy properties gradle

拥有以下内容build.gradle:

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "$repoUrl") {
                authentication(userName: "$repoUser", password: "$repoPassword")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么能$repoUrl有一个默认值file://$buildDir/repo

我试图把repoUrl=file://$buildDir/repogradle.properties,但我希望这是行不通的,因为它似乎$repoUrl没有递归评估.

Mic*_*aev 2

看起来是因为repoUrl=file://$buildDir/repo被视为普通字符串,没有buildDir替换。

如果可以尝试这个:

repository(url: repoUrl.replace('$buildDir', "$buildDir")) {

或者是这样的:

// run as 'gradle build -PreportUrl=blabla'
def repoUrl = "file://$buildDir/repo"
if (binding.variables.containsKey('repoUrl ')) {
 repoUrl = binding.variables.get('repoUrl ')
}
Run Code Online (Sandbox Code Playgroud)