From 24e5987fb776f54bf685ebb4611c570d64f1a925 Mon Sep 17 00:00:00 2001 From: Jason Steving Date: Tue, 30 Apr 2024 17:33:01 -0700 Subject: [PATCH] Add Module Dep on rules_java to Update java_*() Rule Defs Unfortunately, the presubmits for the latest PR to Bzlmod failed with some mysterious Turbine error that's apparently been addressed by the latest rules_java. It turns out that although Java support is built into Bazel, you can separately update the java_* rule implementations without updating to a later Bazel version by placing a Module dep on rules_java. This is new info, but good to know. I chose rules_java@7.2.0 b/c apparently that's the latest version that actually supports Bazel 6.4.0 which Claro currently targets. - https://github.com/bazelbuild/bazel-central-registry/pull/1901 - https://buildkite.com/bazel/bcr-presubmit/builds/5034#018f2bc7-7567-42c9-95df-814fc11b561c - https://github.com/bazelbuild/rules_java/issues/159 --- MODULE.bazel | 3 ++- examples/bzlmod/MODULE.bazel | 9 +-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 41c4af40..223449bd 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,13 +1,14 @@ module( name = "claro-lang", repo_name = "claro-lang", - version = "0.1.506", + version = "0.1.507", ) bazel_dep(name = "aspect_bazel_lib", version = "2.0.1") bazel_dep(name = "bazel_skylib", version = "1.5.0") bazel_dep(name = "rules_proto", version = "5.3.0-21.7") bazel_dep(name = "rules_jvm_external", version = "5.3") +bazel_dep(name = "rules_java", version = "7.2.0") # Latest version actually compatible w/ Bazel 6.4.0: https://github.com/bazelbuild/rules_java/issues/159 # Deps related to ClaroDocs bazel_dep(name = "aspect_rules_lint", version = "0.12.0") diff --git a/examples/bzlmod/MODULE.bazel b/examples/bzlmod/MODULE.bazel index 66557305..db67649c 100644 --- a/examples/bzlmod/MODULE.bazel +++ b/examples/bzlmod/MODULE.bazel @@ -1,10 +1,3 @@ module(name = "example-claro-module") -bazel_dep(name = "claro-lang", version = "0.1.506") - -# NOTE: These "dev dependencies" are only necessary if you'd like to use ClaroDocs to visualize -# Claro programs as a local dev server. With these dependencies added, you should be able to -# `load("@claro-lang//tools/clarodocs/generator:clarodocs_rules.bzl", "clarodocs")` in your -# BUILD files. Then: `clarodocs(name = ..., root = ":some_claro_binary")` targets can be run. -bazel_dep(name = "aspect_bazel_lib", version = "2.0.1", dev_dependency = True) -bazel_dep(name = "aspect_rules_js", version = "1.38.0", dev_dependency = True) +bazel_dep(name = "claro-lang", version = "0.1.507")