В Gradle есть лучший способ получить переменные среды? - PullRequest
131 голосов
/ 24 марта 2012

В нескольких задачах я ссылаюсь на jar в своей домашней папке.

Есть ли лучший способ получить переменные среды, чем

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

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

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

Это устанавливает $ HOME, но я надеялся, что япропустил немного магии из документации.

Ответы [ 3 ]

217 голосов
/ 25 марта 2012

Хорошо;это также работает:

home = "$System.env.HOME"

Не ясно, к чему вы стремитесь.

86 голосов
/ 03 октября 2014

Мне не удалось заставить форму, предложенную @thoredge, работать в Gradle 1.11, но это работает для меня:

home = System.getenv('HOME')

Это помогает помнить, что все, что работает на чистой Java, будет работатьв Gradle тоже.

11 голосов
/ 04 мая 2016

В Android Gradle 0.4.0 вы можете просто сделать:

println System.env.HOME

classpath com.android.tools.build:gradle-experimental:0.4.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...