Skip to content

Commit 804e93e

Browse files
hvadehrarules_java Copybara
authored andcommitted
Update to java_tools v14.0 (#286)
Closes #286 COPYBARA_INTEGRATE_REVIEW=#286 from bazelbuild:hvd_javatools_14 1ba7e5f PiperOrigin-RevId: 745056329 Change-Id: If9674fb772281cff1aa51cf50b23961469f845cf
1 parent 8e0fe0b commit 804e93e

7 files changed

Lines changed: 74 additions & 19 deletions

File tree

.bazelci/presubmit.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ build_targets: &build_targets
33
- "//..."
44
# can't build some analysis tests on older Bazel versions
55
- "-//test/java/..."
6-
- "@remote_java_tools//java_tools/..."
6+
# build java_tools from source
7+
- "@remote_java_tools//:ijar_cc_binary"
8+
- "@remote_java_tools//:one_version_cc_bin"
9+
- "@remote_java_tools//:proguard"
10+
- "@remote_java_tools//:singlejar_cc_bin"
711
# can't build @remote_java_tools_X repos for other platforms
812
- "-//toolchains/..."
913
# TODO: re-enable docs after moving them out of https://bazel.build/reference/be/java
@@ -12,7 +16,11 @@ build_targets: &build_targets
1216

1317
build_targets_bazel6: &build_targets_bazel6
1418
- "//:all"
15-
- "@remote_java_tools//java_tools/..."
19+
# build java_tools from source
20+
- "@remote_java_tools//:ijar_cc_binary"
21+
- "@remote_java_tools//:one_version_cc_bin"
22+
- "@remote_java_tools//:proguard"
23+
- "@remote_java_tools//:singlejar_cc_bin"
1624
- "//examples/..."
1725

1826
build_targets_integration: &build_targets_integration

.bazelrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ common --tool_java_runtime_version=remotejdk_8
99
# Hide Java 8 deprecation warnings.
1010
common --javacopt=-Xlint:-options
1111

12+
# Enable modern C++ features, for compiling java_tools from source
13+
build --cxxopt=-std=c++17
14+
build --host_cxxopt=-std=c++17
15+
1216
# Some tests relies on dynamic libs that are not interface libs
1317
# the latter are always enabled on Windows: https://github.com/bazelbuild/bazel/blob/1f5414408467171581b6142e93f67fe730d722cf/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java#L2430
1418
# we can't use a transition because toolchain deps exceed the default --analysis_testing_deps_limit.

MODULE.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ bazel_dep(name = "rules_cc", version = "0.0.15")
1010
bazel_dep(name = "bazel_features", version = "1.11.0")
1111
bazel_dep(name = "bazel_skylib", version = "1.6.1")
1212
bazel_dep(name = "protobuf", version = "27.0", repo_name = "com_google_protobuf")
13+
bazel_dep(name = "zlib", version = "1.3.1.bcr.5")
1314

1415
# Required by @remote_java_tools, which is loaded via module extension.
1516
bazel_dep(name = "rules_license", version = "0.0.3")

java/repositories.bzl

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,33 +22,33 @@ load("//toolchains:remote_java_repository.bzl", "remote_java_repository")
2222

2323
# visible for tests
2424
JAVA_TOOLS_CONFIG = {
25-
"version": "v13.18",
25+
"version": "v14.0",
2626
"release": "true",
2727
"artifacts": {
2828
"java_tools_linux": {
29-
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.18/java_tools_linux-v13.18.zip",
30-
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.18/java_tools_linux-v13.18.zip",
31-
"sha": "0da77fca085dd477a057581f26fe677d88e4b9f542c517d813e50553829f66a0",
29+
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v14.0/java_tools_linux-v14.0.zip",
30+
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v14.0/java_tools_linux-v14.0.zip",
31+
"sha": "51ed941d6c62e432e59cc3b6ad3503639cc138ee7a02ed6bf0bbbb16ded418c9",
3232
},
3333
"java_tools_windows": {
34-
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.18/java_tools_windows-v13.18.zip",
35-
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.18/java_tools_windows-v13.18.zip",
36-
"sha": "e07c1604a492a5f316e8d8142446d2b297066d243d4ed3d54324aa89122ca862",
34+
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v14.0/java_tools_windows-v14.0.zip",
35+
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v14.0/java_tools_windows-v14.0.zip",
36+
"sha": "3f918fb9c24b04bcd6088ed62c240cfbb1a4bb50376e394151d34d60e8e71cdf",
3737
},
3838
"java_tools_darwin_x86_64": {
39-
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.18/java_tools_darwin_x86_64-v13.18.zip",
40-
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.18/java_tools_darwin_x86_64-v13.18.zip",
41-
"sha": "ecc155c338ab106324dbd036364478b0fd85d4f12d11a95268b6c436b4bb41a2",
39+
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v14.0/java_tools_darwin_x86_64-v14.0.zip",
40+
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v14.0/java_tools_darwin_x86_64-v14.0.zip",
41+
"sha": "94daf7d9586943261114de6bde97053597ce031bb8d76672688843b33b7ff610",
4242
},
4343
"java_tools_darwin_arm64": {
44-
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.18/java_tools_darwin_arm64-v13.18.zip",
45-
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.18/java_tools_darwin_arm64-v13.18.zip",
46-
"sha": "d11cdccc9e906f68137b882d75d485122f3c6a9b50374b6bb2e526384114f897",
44+
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v14.0/java_tools_darwin_arm64-v14.0.zip",
45+
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v14.0/java_tools_darwin_arm64-v14.0.zip",
46+
"sha": "5f12ea12d0381058dac8aa85ad3656c3a7ab85b8c5d8cd98e4ab57bd8fbf8bee",
4747
},
4848
"java_tools": {
49-
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.18/java_tools-v13.18.zip",
50-
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.18/java_tools-v13.18.zip",
51-
"sha": "1945286e31ca21184b672290caa83cc3470dcdbd00ce0af34f02d24398974ebf",
49+
"mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v14.0/java_tools-v14.0.zip",
50+
"github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v14.0/java_tools-v14.0.zip",
51+
"sha": "1c2074e3ffb8c5bd22d5e65964535f70ba7b1bcd4e688f5d89f79f72a1b625bf",
5252
},
5353
},
5454
}

java/rules_java_deps.bzl

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,41 @@ def platforms_repo():
164164
urls = ["https://github.com/bazelbuild/platforms/releases/download/0.0.11/platforms-0.0.11.tar.gz"],
165165
)
166166

167+
def zlib_repo():
168+
maybe(
169+
http_archive,
170+
name = "zlib",
171+
sha256 = "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23",
172+
urls = ["https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz"],
173+
strip_prefix = "zlib-1.3.1",
174+
build_file_content = """
175+
cc_library(
176+
name = "zlib",
177+
srcs = glob(["*.c"]),
178+
hdrs = glob(["*.h"]),
179+
copts = select({
180+
"@platforms//os:windows": [],
181+
"//conditions:default": [
182+
"-Wno-deprecated-non-prototype",
183+
"-Wno-unused-variable",
184+
"-Wno-implicit-function-declaration",
185+
],
186+
}),
187+
includes = ["."],
188+
visibility = ["//visibility:public"],
189+
)
190+
""",
191+
)
192+
193+
def absl_repo():
194+
maybe(
195+
http_archive,
196+
name = "com_google_absl",
197+
sha256 = "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3",
198+
strip_prefix = "abseil-cpp-20240722.0",
199+
urls = ["https://github.com/abseil/abseil-cpp/archive/refs/tags/20240722.0.tar.gz"],
200+
)
201+
167202
def rules_java_dependencies():
168203
"""An utility method to load non-toolchain dependencies of rules_java.
169204
@@ -174,3 +209,5 @@ def rules_java_dependencies():
174209
rules_cc_repo()
175210
protobuf_repo()
176211
platforms_repo()
212+
zlib_repo()
213+
absl_repo()

test/repo/.bazelrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
build:bzlmod --experimental_enable_bzlmod
22

33
common --incompatible_disallow_empty_glob
4+
5+
# Enable modern C++ features, for compiling java_tools from source
6+
build --cxxopt=-std=c++17
7+
build --host_cxxopt=-std=c++17

test/repo/BUILD.bazel

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("@rules_java//java:defs.bzl", "java_binary", "java_library", "java_test") # copybara-use-repo-external-label
2-
load("@rules_java//toolchains:default_java_toolchain.bzl", "default_java_toolchain") # copybara-use-repo-external-label
2+
load("@rules_java//toolchains:default_java_toolchain.bzl", "NONPREBUILT_TOOLCHAIN_CONFIGURATION", "default_java_toolchain") # copybara-use-repo-external-label
33
load("@rules_shell//shell:sh_test.bzl", "sh_test")
44

55
java_library(
@@ -50,4 +50,5 @@ sh_test(
5050
default_java_toolchain(
5151
name = "my_funky_toolchain",
5252
bootclasspath = ["@bazel_tools//tools/jdk:platformclasspath"],
53+
configuration = NONPREBUILT_TOOLCHAIN_CONFIGURATION,
5354
)

0 commit comments

Comments
 (0)