タスク経由でGradleで環境変数を設定するにはどうすればいいですか? 質問する

タスク経由でGradleで環境変数を設定するにはどうすればいいですか? 質問する

私はGradleアプリケーションを持っています。そして、私のメインGradleファイルにはいくつかのタスク(Groovy)が含まれています。タスクを開始するときに、環境変数「LANG」にencoding = ru_RU.koi8-r(Windows、Linuxの場合)を設定し、タスクの完了後に環境変数に初期値(en_US.UTF-8)を含める必要があります。どうすればいいでしょうか?助けてください。

ベストアンサー1

私の知る限り、Gradle タスクからシステム環境変数を設定することはできません。

ただし、そのプロセスに環境変数を設定することは可能です。したがって、ビルドのためだけに環境変数を設定する必要がある場合は、これを使用します。

task MyTask(type: Exec) {
  environment 'ENVIRONMENT_VARIABLE_NAME', 'environment_variable_value'

  // run or build code that needs that environment variable
}

コンパイルをそのタスクに依存させることもできるので、コードをビルドする場合は、コンパイルする前に環境変数を設定します。

tasks.withType(JavaCompile) {
  compileTask -> compileTask.dependsOn MyTask
}

おすすめ記事