2017-02-07 3 views
0

У меня задача градиента следующим образом. Установка GOPATH до начала сборки. Когда я запускаю вторую задачу, это runUnitTest и GOPATH не устанавливается внутри этого блока, и я вижу эту ошибку «$ GOPATH не установлен».Объявление глобальной переменной на Gradle

task goBuild(type:Exec) { 
    environment 'GOPATH', projectDir.toString().split("/src")[0] 
    commandLine "go", "build", "main.go" 
} 

task runUnitTest(type:Exec) { 
    dependsOn goBuild 
    commandLine "go", "get", "github.com/AlekSi/gocov-xml" 
    commandLine "go", "test", "-v" 

} 

Я могу, конечно, снова установить GOPATH во вторую задачу. Но мне любопытно, как глобально установить в градле.

ответ

1

Вы можете установить свойство окружающей среды для всех задач типа Exec:

tasks.withType(Exec) { 
    environment 'GOPATH', 'hello' 
} 

task first(type:Exec) { 
    commandLine 'CMD', '/C', 'echo', "%GOPATH%" 
} 

task second(type:Exec) { 
    commandLine 'CMD', '/C', 'echo', "%GOPATH%" 
} 
+0

работы .. спасибо. –

Смежные вопросы