ビルド&プラットフォームに関係なく、私のアプリが常にビルドされ、テストが実行され、正しいロケールを使用して実行されていることを確認します。Gradleの設定からIntelliJ IDEAをuser.languageとuser.countryにする方法を教えてください。
GRADLE_OPTS="-Duser.language=nb -Duser.country=NO" ./gradlew build
しかし、私は避けるようにしようとしている:
は、だから私はnew Locale("nb", "NO") == Locale.getDefault()
は_JAVA_OPTIONS
、GRADLE_OPTS
またはJAVA_OPTS
作品のいずれかにロケール設定でビルドを実行していることを確認し、簡単なユニットテストを持っていますすべての開発者とビルドエージェントの環境変数を設定していますので、これらを設定しようとしました。:
org.gradle.jvmargs=-Duser.language=nb -Duser.country=NO
Locale.getDefault()
がen_US
を返すようになっても機能しません。
私はどちらか動作しないこと、tasks.WithType(JavaCompile)
でそれらを設定してみました。しかし、作品tasks.withType(Test)
tasks.withType(JavaCompile) {
options.forkOptions.jvmArgs += ['-Duser.language=nb', '-Duser.country=NO']
}
。わーい!
tasks.withType(Test) {
jvmArgs += ['-Duser.language=nb', '-Duser.country=NO']
}
しかし、今問題に
:のIntelliJ IDEAはまだ-Duser.*
VMのオプションが表示されず、ユニットテストが失敗しました。
tasks.withType(ProcessForkOptions) {
environment("LC_ALL", "nb_NO.UTF-8")
}
ない成功を:a JetBrains issueで説明したように@Andrejからヒントとして
私はProcessForkOptions
環境を設定してみました。
Gradleの設定をどのようにすればよいですか?テスト用のRun ConfigurationにVMオプションを手動で設定する必要がありますか?
この例のように、新しいJVMプロセスを作成するタスクに追加してみてください。https://youtrack.jetbrains.com/issue/IDEA-115426#comment=27-610182 – Andrey
@Andrey良いアイデアですが、コマンドラインビルドやIntelliJのどちらでもない。 – neu242