Do not percent-encode '+' in classpath-jar manifest Class-Path entries (#358) Add '+' to the allowed character class so it passes through literally. The java stub template packs over-long classpaths into a classpath jar whose manifest Class-Path entries percent-encode any character outside [-_.~/a-zA-Z0-9]. Bzlmod canonical repository names put '+' into every external-repo classpath entry, so those entries now contain "%2b" sequences. '+' is a valid URI path character and needs no encoding, and the "%2b" breaks consumers that pass classpath URLs through printf-style formatting Closes #358 COPYBARA_INTEGRATE_REVIEW=https://github.com/bazelbuild/rules_java/pull/358 from mgalindo-sc:patch-1 367ccce6a08bb163cfde47ebe44fcdf34593f463 PiperOrigin-RevId: 931225696 Change-Id: I3c4e215afc4c67e25e48485cd58d0c2fe2dcd74c
Java Rules for Bazel https://bazel.build.
Documentation
For a quickstart tutorial, see https://bazel.build/start/java
The fastest way to try this in an empty project is to click the green “Use this template” button on https://github.com/bazel-starters/java.
For slightly more advanced usage, like setting up toolchains or writing your own java-like rules, see https://bazel.build/docs/bazel-and-java
Core Java rules
Add a load like:
load("@rules_java//java:java_library.bzl", "java_library")
to your BUILD / BUILD.bazel / *.bzl files
For detailed docs on the core rules, see https://bazel.build/reference/be/java