2017-02-07 22 views
0

私は以下のようなグラデルタスクを持っています。ビルドを開始する前にGOPATHを設定する。 2番目のタスクを実行するとrunUnitTestとGOPATHがブロック内に設定されず、このエラー "$ GOPATH not set"が表示されます。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" 

} 

私はもちろん、2番目のタスクの中で再びGOPATHを設定できます。しかし、私はどのようにグローバルにgradleを設定するには好奇心です。

答えて

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

ワークス..あなたに感謝します。 –

関連する問題