如何給Gradle添加屬性和系統屬性(System property)

在USER_HOME/.gradle目錄的gradle.properties裏維護自定義屬性:

gradlePropertiesProp=gradlePropertiesValue
systemProjectProp=shouldBeOverWrittenBySystemProp
envProjectProp=shouldBeOverWrittenByEnvProp
systemProp.system=systemValue  

build.gradle裏維護如下內容:

task printProps {
    doLast {
      // println commandLineProjectProp
      println gradlePropertiesProp
      println systemProjectProp
      println envProjectProp
      println System.properties['system']
  }
}  

gradle build輸出:

gradlePropertiesValue
shouldBeOverWrittenBySystemProp
shouldBeOverWrittenByEnvProp
systemValue

換一個命令行:

gradle -q -PcommandLineProjectProp=commandLineProjectPropValue -Dorg.gradle.project.systemProjectProp=systemPropertyValue printProps

可見配置文件裏的systemProjectProp=shouldBeOverWrittenBySystemProp已經被優先級更高的,命令行裏參數-D傳入的值所覆蓋了。

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章