2012-03-24 13 views
101

En varias tareas, hago referencia a jarras en mi carpeta de inicio.En Gradle, ¿hay una mejor manera de obtener variables de entorno?

¿Hay una mejor manera de obtener variables de entorno que

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

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

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

Esto establece $ HOME pero esperaba que me perdí un poco de magia de la documentación.

+1

Tenga en cuenta que antes de la variable de entorno puede ser visto y utilizado por Gradle, necesita ser exportado, ej. '$ export FOO = barra'. – luka5z

+0

Hay algo que me falta aquí ... Tengo que poner 'def HOME': Gradle 4.4.1' Project' no tiene una propiedad 'HOME' ni una propiedad' ENV'. Podría ser algo que se cayó ...? –

Respuesta

170

Bueno; esto funciona así:

home = "$System.env.HOME" 

No está claro lo que estás buscando.

+14

o según su uso: en "$ {System.env.HOME}/something/plugins" – JoeG

+7

Tenga en cuenta que "$ System.env.FOO" devuelve String con el valor "nulo", si la variable de entorno FOO no está definida como una variable de entorno del sistema. Puede ser confuso, ya que al iniciar una cadena con el valor "nulo" en la consola se imprimirá el mismo resultado que la variable nula. –

+1

o solo home = System.env.HOME? –

67

no pude conseguir la forma sugerida por @thoredge para trabajar en Gradle 1,11, pero esto funciona para mí:

home = System.getenv('HOME') 

Ayuda a tener en cuenta que cualquier cosa que funciona en Java puro funcionará en Gradle también.

+0

No estoy seguro por qué, pero solo pude obtener la versión 'System.getenv ('HOME')' para que funcione. La otra versión no dejaba de devolver 'null' – Kip

+0

Esa era una edición de otra persona; Lo revertiré. –

+0

¿Utilizaste comillas simples en lugar de dobles por error, quizás? –

6

En Gradle androide 0.4.0 sólo se puede hacer:

println System.env.HOME 

ruta de clase com.android.tools.build:gradle-experimental:0.4.0

+0

thoredge dijo que 4 años antes de su respuesta! –

Cuestiones relacionadas