Clone this repo:

Branches

  1. 5c7674c Merge pull request #20 from davido:extend_readme_for_update_instruction by Copybara-Service · 8 months ago master
  2. 350c578 Improve wording by David Ostrovsky · 8 months ago
  3. 89927e1 README: Document how to update java_tools to a custom version by David Ostrovsky · 8 months ago
  4. 4587311 Add release schedule. by Googler · 9 months ago
  5. a9432cb Project import generated by Copybara. by Googler · 9 months ago

Bazel Tools for Java

This is a repository for the tools used by Bazel to compile Java.

The source code of the Bazel Tools for Java is currently checked in the bazel repository. The source code will be moved incrementally to this repository.

Upgrade a Bazel project to use custom java_tools version

To use a specific java_tools release in your Bazel project please add the http_archive definitions in your WORKSPACE file and set the options --java_toolchain and/or --host_java_toolchain accordingly. All java_tools releases can be found under https://github.com/bazelbuild/java_tools/releases.

For example to use java_tools_javac11-v6.0 you can add the following to the WORKSPACE file:

http_archive(
    name = "remote_java_tools_linux",
    sha256 = "37acb8380b1dd6c31fd27a19bf3da821c9b02ee93c6163fce36f070a806516b5",
    urls = [
        "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.0/java_tools_javac11_linux-v6.0.zip",
        "https://github.com/bazelbuild/java_tools/releases/download/javac11-v6.0/java_tools_javac11_linux-v6.0.zip",
    ],
)
http_archive(
    name = "remote_java_tools_windows",
    sha256 = "384e138ca58842ea563fb7efbe0cb9c5c381bd4de1f6a31f0256823325f81ccc",
    urls = [
        "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.0/java_tools_javac11_windows-v6.0.zip",
        "https://github.com/bazelbuild/java_tools/releases/download/javac11-v6.0/java_tools_javac11_windows-v6.0.zip",
    ],
)
http_archive(
    name = "remote_java_tools_darwin",
    sha256 = "5a9f320c33424262e505151dd5c6903e36678a0f0bbdaae67bcf07f41d8c7cf3",
    urls = [
        "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.0/java_tools_javac11_darwin-v6.0.zip",
        "https://github.com/bazelbuild/java_tools/releases/download/javac11-v6.0/java_tools_javac11_darwin-v6.0.zip",
    ],
)

and set the command line options according to the OS:

  --java_toolchain=@remote_java_tools_linux//:toolchain \
  --host_java_toolchain=@remote_java_tools_linux//:toolchain

Releases

The releases can be found under java_tools/releases starting with java_tools javac11 v4.0. For previous releases see the issues marked with the release label.

If you're interested in the release process please see docs/release.md

Release Schedule

A new java_tools for the javac version used by bazel is released monthly. The first RC should be cut at least 7 days before the bazel release, around the 25th day of the month.

See upcoming scheduled releases.