Android Studio 2023.3.1-canary8 (11392117)
Snap for 11390309 from 8ea66c939fcdebf71db116f45d93623f6f3a8d93 to studio-jellyfish-release

Change-Id: I930d336efb8d5dff428cc21894e829fa7416bf7a
tree: f159b25e98e02fe11c05ccb1bfb40120a404ac8b
  1. jbr-next/
  2. jbrjdk-next/
  3. jdk11/
  4. jdk17/
  5. jdk17-runtime/
  6. linux/
  7. mac/
  8. mock-jdk17/
  9. win32/
  10. win64/
  11. .gitignore
  12. BUILD
  13. BUILD.studio_jdk
  14. 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