Gradle上的全局变量声明

时间:2017-02-07 21:37:54

标签: go gradle build.gradle

我有一个gradle任务如下。在开始构建之前设置GOPATH。当我运行第二个任务时,就是runUnitTest,并且没有在该块中设置GOPATH,我看到这个错误" $ GOPATH未设置"。

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。但是,我很好奇如何全球设置在gradle中。

1 个答案:

答案 0 :(得分: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%"
}