簡體   English   中英

如何在 settings.gradle 文件中讀取 Gradle CLI 上設置的項目屬性?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM