gradle.properties是否可以访问环境变量

时间:2019-11-15 00:05:01

标签: java gradle environment-variables build.gradle gradle.properties

我环顾四周,在gradle.properties中找不到任何访问环境变量的方法。

我可以做什么::在我的build.gradle中,我可以访问类似System.getenv("MY_VAR")的环境变量。我想在gradle.properties中做同样的事情。

我要执行的操作示例:在我的gradle.properties中,将build.foo=bar替换为build.foo=System.getenv("BAR")

到目前为止,我所有从gradle.properties访问环境变量的尝试都失败了。

任何对此事的见识都将是非常棒的,谢谢!

3 个答案:

答案 0 :(得分:3)

并非所有环境变量都可见。如果您可以使用特殊前缀margin-bottom: 0 !important命名它们,则这些名称将可用。您可以阅读有关内容here

ORG_GRADLE_PROJECT_可以在gradle中作为ORG_GRADLE_PROJECT_foo进行访问。

答案 1 :(得分:1)

  

在gradle.properties中找不到任何访问环境变量的方法。

不能。 gradle.properties没什么特别的,它是standard properties file

您需要按照this中所述的方式对属性进行后处理。目前,Gradle不提供任何此类功能来“自定义加载” gradle.properties

答案 2 :(得分:0)

来自https://docs.gradle.org/current/userguide/build_environment.html “ ...,但如果在多个位置配置了一个选项,则第一个将获胜:

系统属性,例如在命令行上设置-Dgradle.user.home时。”

在Unix中,您可以这样:-Dgradle.user.home = $ GRADLE_USER_HOME