Set -Xjdk-release for non-android JVM targets
Setting jvmTarget only sets the bytecode level for the classes, it
does not actually force usage of only that java target. -Xjdk-relesae
does what one would expent that jvmTarget would do. We need to set both
to get it working.
Relnote: """
androidx.room:room-compiler-processing and
androidx.room:room-compiler-processing-testing now target Java 17
androidx.compose "-desktop" artifacts now target Java 17
"""
Test: 1. ./gradlew compose:ui:ui-graphics:publish
2. extract BlendMode.class
3a. (-desktop artifact): javap -v /tmp/BlendMode.class | grep major
major version: 55
3b. (-android artifact): javap -v /tmp/BlendMode.class | grep major
major version: 52
Change-Id: I89e9871a9938fe5e36d632c2168482266207499a
diff --git a/buildSrc/shared.gradle b/buildSrc/shared.gradle
index b135cf6..3923507 100644
--- a/buildSrc/shared.gradle
+++ b/buildSrc/shared.gradle
@@ -37,7 +37,8 @@
jvmTarget = "17"
freeCompilerArgs += [
"-Werror",
- "-Xskip-metadata-version-check"
+ "-Xskip-metadata-version-check",
+ "-Xjdk-release=17",
]
languageVersion = "1.8"
apiVersion = "1.8"