diff -r 3ccb29f83309 -r 91a3ad3b1b9c buildSrc/src/main/kotlin/AndroidJavaVersion.kt --- a/buildSrc/src/main/kotlin/AndroidJavaVersion.kt Wed Oct 06 16:05:47 2021 -0400 +++ b/buildSrc/src/main/kotlin/AndroidJavaVersion.kt Tue Nov 29 14:05:44 2022 -0400 @@ -21,6 +21,8 @@ */ package com.geekorum.build +import com.android.build.api.dsl.CommonExtension +import com.android.build.api.dsl.DefaultConfig import com.android.build.gradle.BaseExtension import org.gradle.api.JavaVersion import org.gradle.api.Project @@ -31,9 +33,15 @@ /** * Configure java version compile options based on minSdkVersion value */ +@Suppress("UNCHECKED_CAST") fun BaseExtension.configureJavaVersion() { - val api = defaultConfig.minSdkVersion?.apiLevel ?: 0 + (this as CommonExtension<*, *, DefaultConfig, *>).configureJavaVersion() +} + +fun CommonExtension<*, *, DefaultConfig, *>.configureJavaVersion() { + val api = defaultConfig.minSdk ?: 1 val version = when { + api >= 30 -> JavaVersion.VERSION_11 api >= 24 -> JavaVersion.VERSION_1_8 api >= 19 -> JavaVersion.VERSION_1_7 else -> JavaVersion.VERSION_1_6 @@ -51,7 +59,7 @@ } /** - * Add missing annotation processord dependencies to build on Java 11 + * Add missing annotation processor dependencies to build on Java 11 */ fun Project.configureAnnotationProcessorDeps() { dependencies { @@ -62,11 +70,8 @@ add(name, "com.sun.xml.bind:jaxb-core:2.3.0.1") add(name, "com.sun.xml.bind:jaxb-impl:2.3.2") } + "annotationProcessor" -> add(name, "javax.xml.bind:jaxb-api:2.3.1") - // I guess that on AGP 4.x+ testAnnotationProcessor inherit from annotationProcessor - // not on 3.6.x - "testAnnotationProcessor" -> add(name, "javax.xml.bind:jaxb-api:2.3.1") - "androidTestAnnotationProcessor" -> add(name, "javax.xml.bind:jaxb-api:2.3.1") } } }