Use a UTF-8 locale for jvm_import jar actions (#1610)
diff --git a/private/rules/jvm_import.bzl b/private/rules/jvm_import.bzl
index 95272a5..3b1598e 100644
--- a/private/rules/jvm_import.bzl
+++ b/private/rules/jvm_import.bzl
@@ -42,6 +42,7 @@
arguments = [java_args, args],
inputs = [injar],
outputs = [outjar],
+ env = {"LC_CTYPE": "C.UTF-8"},
tools = [add_jar_manifest_entry, java_runtime.files],
mnemonic = "StampJarManifest",
progress_message = "Stamping the manifest of %{label}",
@@ -71,6 +72,7 @@
arguments = [java_args, args],
inputs = [outjar],
outputs = [compilejar],
+ env = {"LC_CTYPE": "C.UTF-8"},
tools = [add_jar_manifest_entry, java_runtime.files],
mnemonic = "CreateCompileJar",
progress_message = "Creating compile jar for %{label}",
diff --git a/tests/unit/jvm_import/jvm_import_test.bzl b/tests/unit/jvm_import/jvm_import_test.bzl
index e278aa4..25cfec3 100644
--- a/tests/unit/jvm_import/jvm_import_test.bzl
+++ b/tests/unit/jvm_import/jvm_import_test.bzl
@@ -151,6 +151,7 @@
argv = matching_actions[0].argv
asserts.true(env, "remotejdk11_" in argv[0], "Expected %s to use the execution-platform Java runtime, got %s" % (mnemonic, argv[0]))
asserts.true(env, "-jar" in argv)
+ asserts.equals(env, "C.UTF-8", matching_actions[0].env.get("LC_CTYPE"))
deploy_jar_args = [arg for arg in argv if arg.endswith("AddJarManifestEntry_deploy.jar")]
asserts.equals(env, 1, len(deploy_jar_args))