173

在几个任务中,我引用了我的主文件夹中的 jar。

有没有比获取环境变量更好的方法

ENV = System.getenv()
HOME = ENV['HOME']

task copyToServer(dependsOn: 'jar', type: Copy) {

 from 'build/libs/'
 into HOME + "/something/plugins/"
}

这设置了 $HOME 但我希望我错过了文档中的一些魔力。

4

4 回答 4

275

出色地; 这也有效:

home = "$System.env.HOME"

目前尚不清楚您的目标是什么。

于 2012-03-24T23:58:12.330 回答
125

我无法让@thoredge 建议的表格在 Gradle 1.11 中工作,但这对我有用:

home = System.getenv('HOME')

请记住,任何可以在纯 Java 中运行的东西也可以在 Gradle 中运行。

于 2014-10-03T17:14:13.067 回答
13

在 android gradle 0.4.0 你可以这样做:

println System.env.HOME

类路径 com.android.tools.build:gradle-experimental:0.4.0

于 2016-05-04T12:46:58.543 回答
0

这适用于 Kotlin DSL (build.gradle.kts):

val myVariable = System.getenv("MY_VARIABLE_NAME") ?: "my default value"

或者

val myVariable = System.getenv("MY_VARIABLE_NAME") ?: error("Env variable not found")

或者

val environment = System.getenv()
val myVariable = environment["MY_VARIABLE_NAME"] ?: "my default value"
// OR val myVariable = environment["MY_VARIABLE_NAME"] ?: error("Env variable not found")
于 2022-02-09T15:32:22.847 回答