[英]How do you read project properties set on the Gradle CLI in the settings.gradle file?
我們正在嘗試為我們的插件存儲庫添加一個覆蓋機制,例如:
maven {
url = gradle.hasProperty("overrideUrl") ? gradle.overrideUrl : "https://default/server"
}
如果我們可以使用用戶指定為項目屬性的相同值,那就太好了。
我嘗試了以下方法,看起來rootProject
屬性未在 settings.gradle 文件的 scope 中設置:
maven {
url = rootProject.hasProperty("overrideUrl") ? rootProject.overrideUrl : "https://default/server"
}
目標是讓 build.gradle 和 settings.gradle 受到以下因素的影響:
./gradlew -PoverrideUrl=https://custom/server
啊哈。 我找到了。 rootProject
沒有在 settings.gradle 文件中添加它的 ExtraPropertiesExtension,但我們可以通過settings.gradle
中的Settings
object 訪問它:
maven {
url = settings.hasProperty("overrideUrl") ? settings.overrideUrl : "https://default/server"
}
可以在build.gradle
中引用相同的值:
repositories {
maven {
url = project.hasProperty("overrideUrl") ? project.overrideUrl : "https://default/server"
}
}
兩者都可以通過以下方式控制:
./gradlew -PoverrideUrl="https://custom/server"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.