私はGradleビルドから環境変数を設定しようとしています。私はMacOS X(エル・キャピタン)です。 コマンドは "gradle test"です。Gradleビルドから環境変数を設定する
私は私のbuild.gradleでこれをしようとしている:
task setenv(type: Exec) {
commandLine "export", "SOME_TEST_VAR=aaa"
}
test.dependsOn setenv
とビルドが失敗します。
実行は、タスクに失敗しました ':MyProjectとします。setenv'。
問題は、プロセスのCOMMAND '輸出' '
を開始起こった私も、これを試してみました:
test.doFirst {
ProcessBuilder pb1 = new ProcessBuilder("export SOME_TEST_VAR=some test value")
pb1.start();
}
ビルドが成功しました。私はそれが失敗した私のJUnitテストでの環境変数をチェックしかし、もし:
assertTrue(System.getenv().containsKey("SOME_TEST_VAR"));
を(build.gradleファイル内)のGradleのビルドから環境変数を設定する方法はありますか?
更新:
私が単独でそれをテストしてみた:値が渡されたのですかと私のテストタスクはすべてを受け取り、それはsystemProperty、環境変数やJVMARGSこと。
ここでは、Gradle自体に何も問題はありません。
問題は、私が実際のプロジェクトで試しているときに発生します。それは依存性注入にSpringを使用します。私は間違っているかもしれませんが、Springフレームワークがこれらの値をどこかにパージするようです。
そのサブプロジェクトは現在フリーズしており、今私の推測を詳細に確認することはできません。テストタスクについては
の設定環境変数のために私のために働いています実験: 'テスト{ systemProperty 'SOME_TEST_VAR'、 'AAA' 環境 'SOME_TEST_VAR'、 'AAA' }' とテスト中: 'boolean good = System.getenv()。containsKey(" SOME_TEST_VAR ")|| System.getProperties()。containsKey( "SOME_TEST_VAR"); assertTrue(good); ' – user3791111
ヘルプを読んだ後でもここで改行を行うことはできません。申し訳ありません、私がそれらを作ることを意味するところを仮定してください。 – user3791111
追加情報がある場合は、質問を編集する必要があります。 –