2016-04-29 25 views
0

私はgradleにカスタムexecタスクを書きました。環境変数の実行時引数を渡したいと思います。実行時の値をGradleの環境変数に渡すにはどうすればよいですか?

//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の代わりに一重引用符を使用してみましたが、同じ値です。私のように環境価値を代用することは可能ですか?

答えて

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' 
} 
+0

すべての依存関係をダウンロードしてGOPATHディレクトリにインストールするGoプログラムがあります。私は実行する特定の実行可能ファイルがありません。実行可能ファイルを指定しないと、環境の値は現在のプロセスの権利に設定されますか? – Poppy

+0

実行ファイルがない場合、なぜ 'Exec'タスクを使用していますか? –

+0

@tim_yates私はメインのsrcフォルダの下にたくさんのサブフォルダを持っているので、それらのすべての実行可能ファイルをインストールしたいと思います。したがって、単一のパスではありません。私が実行しようとしているGoコマンドは、次のようなものです。 'commandLine 'build -v src/code.test.com/util/* go' commandLine 'go build -v src/code .test.com/libs/*。go'' この場合、これらの環境変数のみを指定して、これらのコマンドを実行します。それは私の依存関係をインストールする世話をします – Poppy

関連する問題