Android Studio 2023.3.1 (11709847)
Snap for 11608709 from 69ce575f3f09f5f3c00d97a9a592dbbf74bb5e32 to studio-jellyfish-release

Change-Id: I8d7895864b1b5569cc175ae26429369574e2546f
tree: 671ffa48e8677219630760fdb4da79de15f26622
  1. jbr-next/
  2. jbrjdk-next/
  3. jdk11/
  4. jdk17/
  5. jdk17-runtime/
  6. jdk8/
  7. mock-jdk17/
  8. .gitignore
  9. BUILD
  10. README.md
README.md

Java Toolchanin Bootclasspath

By default Bazel uses --bootclasspath bazed on current java runtime. Such default don't works well when Studio java versions being updated: e.g. for JBR21 update for 2023.3 and 2024.1 releazes we want to target java 17, but have an option to run Studio and test using java 21.

But java code is not always able to compile against newer sdk. We extract bootclasspath for each java runtime version, and use it together with -source -target options.

Todo: Bazel 7.x

Bazel 7 changes attributes for bootclasspath rule. To migrate to new version replace host_javabase and target_javabase with single java_runtime_alias

See also:

Commands useful for for debugging java toolchain issues

bazel build --verbose_failures --subcommands=pretty_print --toolchain_resolution_debug=java /... bazel query //prebuilts/studio/jdk/jdk17:java17_compile_toolchain --output=build