| diff --git a/private/rules/jvm_import.bzl b/private/rules/jvm_import.bzl |
| index 0fbbd10..de36b90 100644 |
| --- a/private/rules/jvm_import.bzl |
| +++ b/private/rules/jvm_import.bzl |
| @@ -7,7 +7,7 @@ |
| # [0]: https://github.com/square/bazel_maven_repository/pull/48 |
| # [1]: https://github.com/bazelbuild/bazel/issues/4549 |
| |
| -load("@rules_java//java:defs.bzl", "JavaInfo") |
| +load("@rules_java//java:defs.bzl", "JavaInfo", "java_common") |
| load("@rules_license//rules:providers.bzl", "PackageInfo") |
| load("//private/lib:coordinates.bzl", "to_external_form", "to_purl", "unpack_coordinates") |
| load("//private/lib:urls.bzl", "scheme_and_host") |
| @@ -26,6 +26,8 @@ def _jvm_import_impl(ctx): |
| if not ctx.attr.jar: |
| print(ctx.attr.name, "The `jars` attribute is deprecated and will be removed in `rules_jvm_external` 7.0. Please use the `jar` attribute instead.") |
| |
| + java_runtime = ctx.attr._java_runtime[java_common.JavaRuntimeInfo] |
| + add_jar_manifest_entry = ctx.file._add_jar_manifest_entry |
| injar = ctx.file.jar if ctx.attr.jar else ctx.files.jars[0] |
| |
| if ctx.attr._stamp_manifest[StampManifestProvider].stamp_enabled: |
| @@ -33,11 +35,15 @@ def _jvm_import_impl(ctx): |
| args = ctx.actions.args() |
| args.add_all(["--source", injar, "--output", outjar]) |
| args.add("--manifest-entry", ctx.label, format = "Target-Label:%s") |
| + java_args = ctx.actions.args() |
| + java_args.add_all(["-jar", add_jar_manifest_entry]) |
| ctx.actions.run( |
| - executable = ctx.executable._add_jar_manifest_entry, |
| - arguments = [args], |
| + executable = java_runtime.java_executable_exec_path, |
| + 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}", |
| ) |
| @@ -59,13 +65,17 @@ def _jvm_import_impl(ctx): |
| # Make sure the compile jar is safe to compile with |
| args.add("--make-safe") |
| |
| + java_args = ctx.actions.args() |
| + java_args.add_all(["-jar", add_jar_manifest_entry]) |
| ctx.actions.run( |
| - executable = ctx.executable._add_jar_manifest_entry, |
| - arguments = [args], |
| + executable = java_runtime.java_executable_exec_path, |
| + 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 %s" % ctx.label, |
| + progress_message = "Creating compile jar for %{label}", |
| ) |
| |
| additional_providers = [] |
| @@ -129,9 +139,14 @@ jvm_import = rule( |
| doc = "URL from where `jar` will be downloaded from.", |
| ), |
| "_add_jar_manifest_entry": attr.label( |
| - executable = True, |
| + allow_single_file = True, |
| + cfg = "exec", |
| + default = "//private/tools/java/com/github/bazelbuild/rules_jvm_external/jar:AddJarManifestEntry_deploy.jar", |
| + ), |
| + "_java_runtime": attr.label( |
| + default = "@rules_java//toolchains:current_java_runtime", |
| + providers = [java_common.JavaRuntimeInfo], |
| cfg = "exec", |
| - default = "//private/tools/java/com/github/bazelbuild/rules_jvm_external/jar:AddJarManifestEntry", |
| ), |
| "_stamp_manifest": attr.label( |
| default = "@rules_jvm_external//settings:stamp_manifest", |