Skip to content

Commit

Permalink
Update to rules_java 7.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
fmeum committed Oct 19, 2023
1 parent d955212 commit 828e0cd
Show file tree
Hide file tree
Showing 11 changed files with 483 additions and 483 deletions.
10 changes: 5 additions & 5 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ bazel_dep(name = "zstd-jni", version = "1.5.2-3.bcr.1")
bazel_dep(name = "blake3", version = "1.3.3.bcr.1")
bazel_dep(name = "zlib", version = "1.3")
bazel_dep(name = "rules_cc", version = "0.0.9")
bazel_dep(name = "rules_java", version = "6.5.1")
bazel_dep(name = "rules_java", version = "7.0.0")
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
bazel_dep(name = "rules_jvm_external", version = "5.2")
bazel_dep(name = "rules_python", version = "0.24.0")
Expand Down Expand Up @@ -231,10 +231,10 @@ use_repo(
"remotejdk17_macos_aarch64",
"remotejdk17_win",
"remotejdk17_win_arm64",
"remotejdk20_linux",
"remotejdk20_macos",
"remotejdk20_macos_aarch64",
"remotejdk20_win",
"remotejdk21_linux",
"remotejdk21_macos",
"remotejdk21_macos_aarch64",
"remotejdk21_win",
)

# =========================================
Expand Down
460 changes: 229 additions & 231 deletions MODULE.bazel.lock

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions distdir_deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,17 @@ DIST_DEPS = {
"rules_java_builtin",
"rules_java_builtin_for_testing",
],
"archive": "rules_java-6.5.1.tar.gz",
"sha256": "7b0d9ba216c821ee8697dedc0f9d0a705959ace462a3885fe9ba0347ba950111",
"urls": ["https://github.com/bazelbuild/rules_java/releases/download/6.5.1/rules_java-6.5.1.tar.gz"],
"archive": "rules_java-7.0.0.tar.gz",
"sha256": "ade279338306bb43e5e61e002f86b766e96d32b6c9a523f073678718b998b2ac",
"urls": ["https://github.com/bazelbuild/rules_java/releases/download/7.0.0/rules_java-7.0.0.tar.gz"],
"workspace_file_content": "",
"used_in": [
"additional_distfiles",
],
"license_kinds": [
"@rules_license//licenses/spdx:Apache-2.0",
],
"package_version": "6.5.1",
"package_version": "7.0.0",
},
# Used in src/test/java/com/google/devtools/build/lib/blackbox/framework/blackbox.WORKSAPCE
"rules_proto": {
Expand Down
2 changes: 1 addition & 1 deletion src/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,7 @@ filegroup(
"@rules_testing//:LICENSE",
] + [
"@remotejdk%s_%s//:WORKSPACE" % (version, os)
for version in ("17", "20")
for version in ("17", "21")
for os in ("macos", "macos_aarch64", "linux", "win")
] + ["@bazel_tools_repo_cache//:files"],
)
2 changes: 1 addition & 1 deletion src/MODULE.tools
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
module(name = "bazel_tools")

bazel_dep(name = "rules_cc", version = "0.0.9")
bazel_dep(name = "rules_java", version = "6.5.1")
bazel_dep(name = "rules_java", version = "7.0.0")
bazel_dep(name = "rules_license", version = "0.0.3")
bazel_dep(name = "rules_proto", version = "4.0.0")
bazel_dep(name = "rules_python", version = "0.4.0")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ java_library(
),
"//conditions:default": ["NoAndroidSdkStubTest.java"],
}),
javacopts = ["-source 7 -target 7"], # we run this through dx for testing, so no lambdas!
javacopts = ["-source 8 -target 8"],
resources = ["testresource.txt"],
deps = [
"//src/test/java/com/google/devtools/build/lib/testutil",
Expand Down
10 changes: 5 additions & 5 deletions src/test/py/bazel/test_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,11 @@ class TestBase(absltest.TestCase):
'remotejdk17_macos_aarch64',
'remotejdk17_win',
'remotejdk17_win_arm64',
'remotejdk20_linux',
'remotejdk20_macos',
'remotejdk20_macos_aarch64',
'remotejdk20_win',
'remotejdk20_win_arm64',
'remotejdk21_linux',
'remotejdk21_macos',
'remotejdk21_macos_aarch64',
'remotejdk21_win',
'remotejdk21_win_arm64',
'rules_cc',
'rules_java',
'rules_java_builtin_for_testing',
Expand Down
8 changes: 4 additions & 4 deletions src/test/shell/bazel/bazel_java17_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -173,11 +173,11 @@ EOF
bazel build //pkg:Main \
--extra_toolchains=//pkg:java_toolchain_definition \
--java_language_version=17 \
--java_runtime_version=remotejdk_20 \
--java_runtime_version=remotejdk_21 \
&>"${TEST_log}" && fail "Expected build to fail"

expect_log "error: \[BazelJavaConfiguration\] The Java 17 runtime used to run javac is not " \
"recent enough to compile for the Java 20 runtime in external/remotejdk20_[a-z0-9]*\. Either " \
"recent enough to compile for the Java 21 runtime in external/remotejdk21_[a-z0-9]*\. Either " \
"register a Java toolchain with a newer java_runtime or specify a lower " \
"--java_runtime_version\."
}
Expand Down Expand Up @@ -220,11 +220,11 @@ EOF
bazel build //pkg:gen \
--extra_toolchains=//pkg:java_toolchain_definition \
--tool_java_language_version=17 \
--tool_java_runtime_version=remotejdk_20 \
--tool_java_runtime_version=remotejdk_21 \
&>"${TEST_log}" && fail "Expected build to fail"

expect_log "error: \[BazelJavaConfiguration\] The Java 17 runtime used to run javac is not " \
"recent enough to compile for the Java 20 runtime in external/remotejdk20_[a-z0-9]*\. Either " \
"recent enough to compile for the Java 21 runtime in external/remotejdk21_[a-z0-9]*\. Either " \
"register a Java toolchain with a newer java_runtime or specify a lower " \
"--tool_java_runtime_version\."
}
Expand Down
24 changes: 14 additions & 10 deletions src/test/shell/integration/bazel_java_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${CURRENT_DIR}/../integration_test_setup.sh" \
|| { echo "integration_test_setup.sh not found!" >&2; exit 1; }

# should match the java_runtime in `_BASE_TOOLCHAIN_CONFIGURATION` in
# `@rules_java//toolchains/default_java_toolchain.bzl`
DEFAULT_JAVA_RUNTIME_VERSION="remotejdk21"

function test_server_javabase() {
mkdir -p test_server_javabase/bin
MAGIC="the cake is a lie"
Expand Down Expand Up @@ -71,16 +75,16 @@ EOF
# We expect the given host_javabase does not appear in the command line of
# java_library actions.
bazel aquery --output=text --tool_java_runtime_version='host_javabase' //java:javalib >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"
expect_not_log "exec external/host_javabase/bin/java"

# If we don't specify anything, we expect the remote JDK to be used.
bazel aquery --output=text //java:javalib >& $TEST_log
expect_not_log "exec external/embedded_jdk/bin/java"
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"

bazel aquery --output=text --java_runtime_version='host_javabase' //java:javalib >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"
expect_not_log "exec external/host_javabase/bin/java"
}

Expand All @@ -102,13 +106,13 @@ EOF
touch foobar/bin/java

bazel aquery --output=text --java_language_version=8 //java:javalib >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"

bazel aquery --output=text --java_language_version=11 //java:javalib >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"

bazel aquery --output=text --java_language_version=17 //java:javalib >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"
}

# Javabuilder shall be executed using JDK defined in java_toolchain's java_runtime attribute, not tool_java_runtime.
Expand Down Expand Up @@ -155,21 +159,21 @@ EOF
# We expect the given host_javabase does not appear in the command line of
# java_library actions.
bazel aquery --output=text --tool_java_runtime_version='host_javabase' 'deps(//java:sample,1)' >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"
expect_not_log "exec external/host_javabase/bin/java"

# If we don't specify anything, we expect the remote JDK to be used.
# Note that this will change in the future but is the current state.
bazel aquery --output=text 'deps(//java:sample,1)' >& $TEST_log
expect_not_log "exec external/embedded_jdk/bin/java"
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"

bazel aquery --output=text --tool_java_runtime_version='host_javabase' 'deps(//java:sample,1)' >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"
expect_not_log "exec external/host_javabase/bin/java"

bazel aquery --output=text --tool_java_language_version=17 --tool_java_runtime_version='host_javabase' 'deps(//java:sample,1)' >& $TEST_log
expect_log "exec external/rules_java~.*~toolchains~remotejdk17_.*/bin/java"
expect_log "exec external/rules_java~.*~toolchains~${DEFAULT_JAVA_RUNTIME_VERSION}_.*/bin/java"
expect_not_log "exec external/host_javabase/bin/java"
}

Expand Down
10 changes: 5 additions & 5 deletions src/test/shell/testenv.sh.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -304,11 +304,11 @@ EOF
"remotejdk17_macos_aarch64"
"remotejdk17_win"
"remotejdk17_win_arm64"
"remotejdk20_linux"
"remotejdk20_macos"
"remotejdk20_macos_aarch64"
"remotejdk20_win"
"remotejdk20_win_arm64"
"remotejdk21_linux"
"remotejdk21_macos"
"remotejdk21_macos_aarch64"
"remotejdk21_win"
"remotejdk21_win_arm64"
"rules_cc"
"rules_java"
"rules_java_builtin_for_testing"
Expand Down
Loading

0 comments on commit 828e0cd

Please sign in to comment.