[Gradle] Introduce compilerOptions for Kotlin external target
Kotlin external target now properly exposes compilerOptions which could be used by target users to configure target compilations compiler options. ^KT-57292 In Progress
This commit is contained in:
committed by
Space Team
parent
c1e26bfa47
commit
7dfbf28d93
@@ -6,17 +6,26 @@ plugins {
|
||||
dependencies {
|
||||
compileOnly(gradleKotlinDsl())
|
||||
compileOnly("com.android.tools.build:gradle:7.2.1")
|
||||
compileOnly(project(":kotlin-gradle-plugin"))
|
||||
compileOnly(project(":kotlin-gradle-plugin")) {
|
||||
capabilities {
|
||||
requireCapability("org.jetbrains.kotlin:kotlin-gradle-plugin-common")
|
||||
}
|
||||
}
|
||||
compileOnly(project(":kotlin-gradle-plugin-api")) {
|
||||
capabilities {
|
||||
requireCapability("org.jetbrains.kotlin:kotlin-gradle-plugin-api-common")
|
||||
}
|
||||
}
|
||||
compileOnly(project(":kotlin-gradle-plugin-idea"))
|
||||
}
|
||||
|
||||
configureKotlinCompileTasksGradleCompatibility()
|
||||
|
||||
kotlin {
|
||||
sourceSets.all {
|
||||
languageSettings.optIn("org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi")
|
||||
compilerOptions {
|
||||
optIn.add("org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi")
|
||||
/* Workaround for KT-54823 */
|
||||
languageSettings.optIn("org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi")
|
||||
optIn.add("org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+17
@@ -5,8 +5,11 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.android
|
||||
|
||||
import org.gradle.api.Action
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.gradle.kotlin.dsl.getByType
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.DecoratedExternalKotlinTarget
|
||||
|
||||
@@ -23,4 +26,18 @@ class PrototypeAndroidTarget(
|
||||
@Suppress("unchecked_cast")
|
||||
override val compilations: NamedDomainObjectContainer<PrototypeAndroidCompilation>
|
||||
get() = super.compilations as NamedDomainObjectContainer<PrototypeAndroidCompilation>
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
override val compilerOptions: KotlinJvmCompilerOptions
|
||||
get() = super.compilerOptions as KotlinJvmCompilerOptions
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {
|
||||
configure(compilerOptions)
|
||||
}
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
fun compilerOptions(configure: Action<KotlinJvmCompilerOptions>) {
|
||||
configure.execute(compilerOptions)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user