spierce7
08/18/2020, 12:49 PMsubprojects
block. Does anyone have any suggestions?
afterEvaluate {
kotlin.sourceSets.map {
it.apply {
languageSettings.apply {
useExperimentalAnnotation("kotlin.ExperimentalStdlibApi")
useExperimentalAnnotation("kotlinx.coroutines.FlowPreview")
useExperimentalAnnotation("kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}
}
}
Arun
08/18/2020, 12:54 PMplugins.withId()
to execute only for modules with multiplatform applied.
Something like this.
subprojects {
pluginManager.withId(<id here>) {
// code here
}
}
spierce7
08/18/2020, 1:31 PMproject
object that it's applied too so that I can use afterEvaluate
and the kotlin
block.Arun
08/18/2020, 1:32 PMspierce7
08/18/2020, 2:43 PMplugins.withType(KotlinMultiplatformPlugin::class) {
afterEvaluate {
val kotlin = (this as ExtensionAware).extensions.getByName("kotlin") as org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
kotlin.sourceSets.map {
it.apply {
languageSettings.apply {
useExperimentalAnnotation("kotlin.ExperimentalStdlibApi")
useExperimentalAnnotation("kotlinx.coroutines.FlowPreview")
useExperimentalAnnotation("kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}
}
}
}
Arun
08/18/2020, 4:58 PMval kotlin = (this as ExtensionAware).extensions.getByName("kotlin") as org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
with
val kotlin = the<KotlinJvmProjectExtension>
or
configure<KotlinJvmProjectExtension> {
sourceSets.map { }
}
msink
08/18/2020, 5:45 PMplugins.withType<org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin> {
afterEvaluate {
configure<org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension> {
sourceSets.configureEach {
languageSettings.apply {
useExperimentalAnnotation("kotlin.ExperimentalStdlibApi")
useExperimentalAnnotation("kotlinx.coroutines.FlowPreview")
useExperimentalAnnotation("kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}
}
}
}
spierce7
08/18/2020, 7:52 PMspierce7
08/18/2020, 7:52 PM