在build.gradle
中有以下内容:
uploadArchives {
repositories {
mavenDeployer {
repository(url: "$repoUrl") {
authentication(userName: "$repoUser", password: "$repoPassword")
}
}
}
}
如何使$repoUrl
具有默认值file://$buildDir/repo
?
我尝试将repoUrl=file://$buildDir/repo
放在gradle.properties
中,但它不能按预期工作,因为似乎$repoUrl
不会递归计算。
答案 0 :(得分: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 ')
}
答案 1 :(得分:1)
您无法从属性文件中引用Gradle属性,例如project.buildDir
。属性文件非常有限,一般来说,我建议将所有信息保存在Gradle构建脚本中。您可以拥有任意数量的构建脚本,并在其他脚本中包含apply from: "path/to/script"
。