Target Java 11 when building compiler plugins.
Change-Id: Ie73c82edb003d4531cc39ef96358659a14cd6940
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
index 1bea081..b7805a6 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
@@ -60,6 +60,7 @@
import javax.inject.Inject
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
+import org.gradle.api.JavaVersion.VERSION_11
import org.gradle.api.JavaVersion.VERSION_17
import org.gradle.api.JavaVersion.VERSION_1_8
import org.gradle.api.Plugin
@@ -273,7 +274,9 @@
) {
project.afterEvaluate {
project.tasks.withType(KotlinCompile::class.java).configureEach { task ->
- if (extension.type.compilationTarget == CompilationTarget.HOST &&
+ if (extension.type == LibraryType.COMPILER_PLUGIN) {
+ task.kotlinOptions.jvmTarget = "11"
+ } else if (extension.type.compilationTarget == CompilationTarget.HOST &&
extension.type != LibraryType.ANNOTATION_PROCESSOR_UTILS
) {
task.kotlinOptions.jvmTarget = "17"
@@ -484,7 +487,12 @@
// Force Java 1.8 source- and target-compatibility for all Java libraries.
val javaExtension = project.extensions.getByType<JavaPluginExtension>()
project.afterEvaluate {
- if (extension.type.compilationTarget == CompilationTarget.HOST &&
+ if (extension.type == LibraryType.COMPILER_PLUGIN) {
+ javaExtension.apply {
+ sourceCompatibility = VERSION_11
+ targetCompatibility = VERSION_11
+ }
+ } else if (extension.type.compilationTarget == CompilationTarget.HOST &&
extension.type != LibraryType.ANNOTATION_PROCESSOR_UTILS
) {
javaExtension.apply {