Skip to content

Commit ab64422

Browse files
committed
Better approach to configuring common sources for KotlinJvmCompile task
Kotlin's language version 2.0 has a new model to compile common/shared sources which requires more fine-grained task configuration. For language versions lower than 2.0, task configuration is different and all common sources should be set as input.
1 parent a6c4d67 commit ab64422

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

buildSrc/src/main/kotlin/Java9Modularity.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,15 @@ object Java9Modularity {
161161
.find { it.name == "ownModuleName" }
162162
?.get(this) as? Property<String>
163163
ownModuleNameProp?.set(compileTask.kotlinOptions.moduleName)
164+
}
165+
166+
val taskKotlinLanguageVersion = compilerOptions.languageVersion.orElse(KotlinVersion.DEFAULT)
167+
@OptIn(InternalKotlinGradlePluginApi::class)
168+
if (taskKotlinLanguageVersion.get() < KotlinVersion.KOTLIN_2_0) {
164169
// part of work-around for https://youtrack.jetbrains.com/issue/KT-60541
165170
@Suppress("INVISIBLE_MEMBER")
166171
commonSourceSet.from(compileTask.commonSourceSet)
167-
}
168-
@OptIn(InternalKotlinGradlePluginApi::class)
169-
apply {
172+
} else {
170173
multiplatformStructure.refinesEdges.set(compileTask.multiplatformStructure.refinesEdges)
171174
multiplatformStructure.fragments.set(compileTask.multiplatformStructure.fragments)
172175
}

0 commit comments

Comments
 (0)