@@ -24,7 +24,9 @@ import org.gradle.api.plugins.ExtensionAware
2424import org.gradle.kotlin.dsl.dependencies
2525import org.gradle.kotlin.dsl.getByType
2626import org.gradle.kotlin.dsl.provideDelegate
27+ import org.gradle.kotlin.dsl.withType
2728import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
29+ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2830
2931/* *
3032 * Configure base Kotlin with Android options
@@ -44,23 +46,24 @@ internal fun Project.configureKotlinAndroid(
4446 targetCompatibility = JavaVersion .VERSION_11
4547 isCoreLibraryDesugaringEnabled = true
4648 }
49+ }
4750
51+ // Use withType to workaround https://youtrack.jetbrains.com/issue/KT-55947
52+ tasks.withType<KotlinCompile >().configureEach {
4853 kotlinOptions {
54+ // Set JVM target to 11
55+ jvmTarget = JavaVersion .VERSION_11 .toString()
4956 // Treat all Kotlin warnings as errors (disabled by default)
5057 // Override by setting warningsAsErrors=true in your ~/.gradle/gradle.properties
5158 val warningsAsErrors: String? by project
5259 allWarningsAsErrors = warningsAsErrors.toBoolean()
53-
5460 freeCompilerArgs = freeCompilerArgs + listOf (
5561 " -opt-in=kotlin.RequiresOptIn" ,
5662 // Enable experimental coroutines APIs, including Flow
5763 " -opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi" ,
5864 " -opt-in=kotlinx.coroutines.FlowPreview" ,
5965 " -opt-in=kotlin.Experimental" ,
6066 )
61-
62- // Set JVM target to 11
63- jvmTarget = JavaVersion .VERSION_11 .toString()
6467 }
6568 }
6669
@@ -70,7 +73,3 @@ internal fun Project.configureKotlinAndroid(
7073 add(" coreLibraryDesugaring" , libs.findLibrary(" android.desugarJdkLibs" ).get())
7174 }
7275}
73-
74- fun CommonExtension <* , * , * , * >.kotlinOptions (block : KotlinJvmOptions .() -> Unit ) {
75- (this as ExtensionAware ).extensions.configure(" kotlinOptions" , block)
76- }
0 commit comments