From 6e61f9e9aa713dfeb6e00db88b2ae88b551cc175 Mon Sep 17 00:00:00 2001 From: thomasbao12 Date: Wed, 11 Sep 2024 01:32:36 -0700 Subject: [PATCH] extra javac opts should override default ones (#1613) * extra javac opts should override default ones * add test --- scala/private/rule_impls.bzl | 3 +-- test/shell/test_toolchain.sh | 8 ++++++++ test_expect_failure/compilers_javac_opts/BUILD | 6 ++++++ 3 files changed, 15 insertions(+), 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 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"], +)