|
|
|
@ -20,10 +20,14 @@ import com.android.build.api.dsl.CommonExtension
|
|
|
|
|
import org.gradle.api.JavaVersion
|
|
|
|
|
import org.gradle.api.Project
|
|
|
|
|
import org.gradle.api.artifacts.VersionCatalogsExtension
|
|
|
|
|
import org.gradle.api.plugins.ExtensionAware
|
|
|
|
|
import org.gradle.kotlin.dsl.configure
|
|
|
|
|
import org.gradle.kotlin.dsl.dependencies
|
|
|
|
|
import org.gradle.kotlin.dsl.getByType
|
|
|
|
|
import org.gradle.kotlin.dsl.provideDelegate
|
|
|
|
|
import org.gradle.kotlin.dsl.withType
|
|
|
|
|
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
|
|
|
|
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
|
|
|
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -51,7 +55,7 @@ internal fun Project.configureKotlinAndroid(
|
|
|
|
|
// Use withType to workaround https://youtrack.jetbrains.com/issue/KT-55947
|
|
|
|
|
tasks.withType<KotlinCompile>().configureEach {
|
|
|
|
|
kotlinOptions {
|
|
|
|
|
// Set JVM target to 17
|
|
|
|
|
// Set JVM target to 11
|
|
|
|
|
jvmTarget = JavaVersion.VERSION_11.toString()
|
|
|
|
|
// Treat all Kotlin warnings as errors (disabled by default)
|
|
|
|
|
// Override by setting warningsAsErrors=true in your ~/.gradle/gradle.properties
|
|
|
|
@ -72,3 +76,16 @@ internal fun Project.configureKotlinAndroid(
|
|
|
|
|
add("coreLibraryDesugaring", libs.findLibrary("android.desugarJdkLibs").get())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
|
|
|
|
|
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Configure Kotlin's jvm toolchain for Android projects
|
|
|
|
|
*/
|
|
|
|
|
internal fun Project.configureKotlinAndroidToolchain() {
|
|
|
|
|
extensions.configure<KotlinAndroidProjectExtension> {
|
|
|
|
|
jvmToolchain(11)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|