Android Studio 2024.1.1-canary8 (11792637)
Snap for 11731333 from e6a55e6c8b251857fa02ac4df8cca4dec27b28f6 to studio-koala-release

Change-Id: I21c49fe8e16b4c84f8f93aeefa0ce328e37e0ae6
tree: 0c5ab750bb8df2387f787c6fa10fd231615add79
  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