Merge pull request #46 from bazelbuild:comius-patch-1

PiperOrigin-RevId: 361818504
Change-Id: Ibbcee97e909d1a34bf400dae05b6d9efdeb4f5b2
tree: eaf7983207f85d073ac23494f497cbe6281a357a
  1. docs/
  2. AUTHORS
  3. BUILD
  4. LICENSE
  5. README.md
README.md

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.