如何给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的原创文章,请关注公众号"汪子熙":

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