blob: 8e5fa824214f900f567cf63a4024cc731c82b28f [file] [log] [blame] [view]
# Bazel Tools for Java
This is a repository for the tools used by [Bazel](https://bazel.build/) to compile Java.
The source code of the Bazel Tools for Java is currently checked in the [bazel
repository](https://github.com/bazelbuild/bazel). 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](https://github.com/bazelbuild/java_tools/releases)
starting with java_tools javac11 v4.0.
For previous releases see the issues marked with
[the release label](https://github.com/bazelbuild/java_tools/issues/15).
If you're interested in the release process please see [docs/release.md](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](https://github.com/bazelbuild/java_tools/issues?q=is%3Aopen+is%3Aissue+label%3Arelease).