From 02d001c28df3dd998d67c079785e93d3b54f333a Mon Sep 17 00:00:00 2001 From: Thomas Bao Date: Sun, 8 Sep 2024 16:53:23 -0700 Subject: [PATCH 1/2] extra javac opts should override default ones --- scala/private/rule_impls.bzl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scala/private/rule_impls.bzl b/scala/private/rule_impls.bzl index 35bf3032e..19a8a3ae8 100644 --- a/scala/private/rule_impls.bzl +++ b/scala/private/rule_impls.bzl @@ -157,10 +157,9 @@ def compile_java(ctx, source_jars, source_files, output, extra_javac_opts, provi output = output, javac_opts = expand_location( ctx, - extra_javac_opts + java_common.default_javac_opts( java_toolchain = java_toolchain, - ), + ) + extra_javac_opts, ), deps = providers_of_dependencies, #exports can be empty since the manually created provider exposes exports From 15f7570cdc33e064ac371e07a108ea268508d443 Mon Sep 17 00:00:00 2001 From: Thomas Bao Date: Mon, 9 Sep 2024 11:50:01 -0700 Subject: [PATCH 2/2] add test --- test/shell/test_toolchain.sh | 8 ++++++++ test_expect_failure/compilers_javac_opts/BUILD | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/test/shell/test_toolchain.sh b/test/shell/test_toolchain.sh index 90e2c0ab7..835f318d8 100755 --- a/test/shell/test_toolchain.sh +++ b/test/shell/test_toolchain.sh @@ -15,5 +15,13 @@ java_toolchain_javacopts_are_used(){ --verbose_failures //test_expect_failure/compilers_javac_opts:can_configure_jvm_flags_for_javac_via_javacopts } +java_toolchain_javacopts_can_be_overridden(){ + action_should_fail_with_message \ + "invalid target release: InvalidTarget" \ + build \ + --verbose_failures //test_expect_failure/compilers_javac_opts:can_override_default_toolchain_flags_for_javac_via_javacopts +} + $runner test_scalaopts_from_scala_toolchain $runner java_toolchain_javacopts_are_used +$runner java_toolchain_javacopts_can_be_overridden diff --git a/test_expect_failure/compilers_javac_opts/BUILD b/test_expect_failure/compilers_javac_opts/BUILD index 964e748df..6b002f0b3 100644 --- a/test_expect_failure/compilers_javac_opts/BUILD +++ b/test_expect_failure/compilers_javac_opts/BUILD @@ -4,3 +4,9 @@ scala_library( name = "can_configure_jvm_flags_for_javac_via_javacopts", srcs = ["WillNotCompileSinceJavaToolchainAddsAnInvalidJvmFlag.java"], ) + +scala_library( + name = "can_override_default_toolchain_flags_for_javac_via_javacopts", + srcs = ["WillNotCompileSinceJavaToolchainAddsAnInvalidJvmFlag.java"], + javacopts = ["-target InvalidTarget"], +)