withEnv
ステップ(または他のラッパータイプ)で設定された環境変数をgradleプラグインに取得させたいです。ステップを使用して gradle を呼び出すsh
と変数が見つかりますが、gradle プラグインを使用するとそうではありません。
gradle プラグインはこれと同等の処理を実行します。
EnvVars env = run.getEnvironment(taskListener);
launcher.launch().cmds(args).envs(env).stdout(gca)
.pwd(rootLauncher).join();
run.getEnvironment() の Javadoc には次のように記載されています。
このビルドのプロセスを起動するために使用される環境変数を含むマップを返します。外部プロセスを呼び出す BuildSteps は、これを使用する必要があります。これにより、BuildWrappers およびその他のプロジェクト構成 (JDK の選択など) が有効になります。
以前の getEnvVars() とは異なり、このマップにはオーバーライドだけでなく環境全体が含まれているため、値を内省してその動作を変更できます。
プラグインをデバッグすると、gradle 呼び出しに渡される環境内の変数が 12 個未満であることがわかります。これらの変数はいずれも、withEnv
提供されるべきではありません。私が知る限り、このsh
ステップはまったく異なる拡張ポイントを使用しており、そのインスタンスEnvVars
がはるかに完全であるように見えるため、まっすぐです。問題が にないことは確かですがwithEnv
、gradle プラグインを修正する方法がわかりません。
間違った呼び出しを使用していますか? それとも間違った拡張ポイントですか?