如何将运行时值传递给Gradle中的环境变量?

时间:2016-04-29 07:16:45

标签: gradle groovy

我在gradle中编写了自定义exec任务,我想传递环境变量的运行时参数。

//Set Go Root and Go Path variables
task setGoPath(type:Exec) {
environment 'GOROOT', "$root" // Had to pass /usr/local/go
environment 'PATH', '$PATH:$GOROOT/bin'
environment 'GOPATH', "$path"//path of my current work directory
}

我正在执行gradle setGopath -Proot=/usr/local/go -Ppath=/home/go/sample

之类的任务

但它会引发错误,例如:java.lang.IllegalStateException:execCommand == null!

我尝试使用单引号代替GOROOT值仍然相同。是否有可能/像我一样替换环境价值?

1 个答案:

答案 0 :(得分:0)

您正在为可执行文件正确设置环境,但您没有指定实际运行的可执行文件。

确保指定executable的路径或可执行文件的command line

//Set Go Root and Go Path variables
task setGoPath(type:Exec) {
    environment 'GOROOT', "$root" // Had to pass /usr/local/go
    environment 'PATH', '$PATH:$GOROOT/bin'
    environment 'GOPATH', "$path"//path of my current work directory
    executable '/path/to/executable/to/run'
}