With the upgrade to Bazel 9.0.0, projects using rules_spring previously failed during analysis due to missing Java symbols in .bzl files, most notably in springboot.bzl.
Specifically, building a project that uses the springboot rule would produce the following error:
springboot.bzl:41:43: name 'JavaInfo' is not defined
This was caused by changes in Bazel 9 / Bzlmod where library-specific Starlark symbols are no longer implicitly available and must be explicitly provided via module dependencies. In this case, JavaInfo and other Java symbols were not available unless rules_java was declared as a dependency of rules_spring.
This has now been resolved in PR #282 by:
- Adding
rules_java to the MODULE.bazel of rules_spring so that Java toolchains and symbols are available project-wide.
- Updating
.bzl files (including springboot.bzl) to explicitly load the required symbols, for example:
load("@rules_java//java:defs.bzl", "java_binary", "JavaInfo")
java_binary is included where needed because it is also referenced in the same rule files.
Expected behavior: projects using rules_spring now build successfully under Bazel 9 without requiring downstream users to manually add rules_java or patch .bzl files.
With the upgrade to Bazel 9.0.0, projects using
rules_springpreviously failed during analysis due to missing Java symbols in.bzlfiles, most notably inspringboot.bzl.Specifically, building a project that uses the
springbootrule would produce the following error:This was caused by changes in Bazel 9 / Bzlmod where library-specific Starlark symbols are no longer implicitly available and must be explicitly provided via module dependencies. In this case,
JavaInfoand other Java symbols were not available unlessrules_javawas declared as a dependency ofrules_spring.This has now been resolved in PR #282 by:
rules_javato theMODULE.bazelofrules_springso that Java toolchains and symbols are available project-wide..bzlfiles (includingspringboot.bzl) to explicitly load the required symbols, for example:java_binaryis included where needed because it is also referenced in the same rule files.Expected behavior: projects using
rules_springnow build successfully under Bazel 9 without requiring downstream users to manually addrules_javaor patch.bzlfiles.