¿Cómo establecer una variable de entorno a partir de una compilación de Gradle?

Estoy tratando de establecer una variable de entorno desde mi compilación Gradle. Estoy en MacOS X (El Capitan). El comando es "prueba de gradle".

Estoy intentando esto en mi build.gradle:

task setenv(type: Exec) {
    commandLine "export", "SOME_TEST_VAR=aaa"
}
test.dependsOn setenv

y la compilación falla:

La ejecución falló para la tarea ': myproject: setenv'.

Se produjo un problema al iniciar el proceso 'comando' exportar ''

También probé esto:

test.doFirst {
    ProcessBuilder pb1 = new ProcessBuilder("export SOME_TEST_VAR=some test value")
    pb1.start();
}

La construcción tiene éxito. Sin embargo, si compruebo la variable de entorno en mi prueba JUnit, falla:

assertTrue(System.getenv().containsKey("SOME_TEST_VAR"));

¿Hay alguna forma de establecer una variable de entorno desde una compilación de Gradle (en el archivo build.gradle)?

Actualizar:

Lo he probado de forma aislada: los valores se pasan y mi tarea de prueba lo recibe todo, ya sea una propiedad del sistema, variables de entorno o jvmArgs.

Entonces, no hay nada de malo en Gradle aquí mismo.

El problema surge cuando lo intento en el proyecto real. Utiliza Spring para la inyección de dependencia. Puedo estar equivocado, pero parece que el marco de Spring purga esos valores en alguna parte.

Ese subproyecto se está congelando actualmente y no puedo verificar mi suposición en detalle en este momento.

Respuestas a la pregunta(4)

Su respuesta a la pregunta