Gradleから実行するJVMの環境変数の設定

これまでeclipseがいい感じにやってくれていて気づかなかったのだが, Gradleでテストをコマンド実行しようとしたとき, 実行するJVMのテストコードの環境変数を設定しようとするとハマった。

安直に以下のようにGradleのオプションに指定しても,Gradleからの実行やテストには反映されない。

gradlew -Djava.library.path=./natives/windows-amd64

これはGradle自体の環境変数を指定しているだけで,Gradleから起動するアプリやテストには反映されない。 いろいろ調べてみたが,以下をbuild.gradleに追加するのが無難そう。

// 実行する場合
tasks.withType(JavaExec) {
    systemProperty "java.library.path", "./natives/windows-amd64"
}

// テストの場合
tasks.withType(Test) {
    systemProperty "java.library.path", "./natives/windows-amd64"
}