diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt index 47f6152ffd6..03dee14a25c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt @@ -143,7 +143,6 @@ internal open class CInteropCommonizerTask : AbstractCInteropCommonizerTask() { return sharedNativeCompilations.mapNotNull(::getCommonizationParameters).toSet() .run(::removeNotRegisteredInterops) .run(::removeEmptyInterops) - .run(if (project.isHierarchicalCommonizationEnabled) ::identity else ::removeHierarchicalParameters) .run(::removeRedundantParameters) } @@ -207,12 +206,6 @@ private fun removeEmptyInterops(parameters: Set return parameters.filterTo(mutableSetOf()) { it.interops.isNotEmpty() } } -private fun identity(parameters: Set) = parameters - -private fun removeHierarchicalParameters(parameters: Set): Set { - return parameters.filterTo(mutableSetOf()) { it.commonizerTarget.level <= 1 } -} - private fun removeRedundantParameters(parameters: Set): Set { return parameters.filterNotTo(mutableSetOf()) { current -> parameters.any { other -> diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt index e18e39ce1d4..5fbf6e5b6e1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt @@ -47,13 +47,12 @@ internal val Project.runCommonizerTask: TaskProvider internal val Project.commonizeCInteropTask: TaskProvider? get() { - if (isCInteropCommonizationEnabled) { + if (isHierarchicalCommonizationEnabled && isCInteropCommonizationEnabled) { return locateOrRegisterTask( "commonizeCInterop", invokeWhenRegistered = { commonizeTask.dependsOn(this) commonizeNativeDistributionHierarchicallyTask?.let(this::dependsOn) - commonizeNativeDistributionTask?.let(this::dependsOn) }, configureTask = { group = "interop" @@ -66,13 +65,14 @@ internal val Project.commonizeCInteropTask: TaskProvider internal val Project.copyCommonizeCInteropForIdeTask: TaskProvider? get() { - if (isCInteropCommonizationEnabled) { + val commonizeCInteropTask = commonizeCInteropTask + if (commonizeCInteropTask != null) { return locateOrRegisterTask( "copyCommonizeCInteropForIde", invokeWhenRegistered = { if (isInIdeaSync) commonizeTask.dependsOn(this) }, configureTask = { group = "interop" - description = "Copies the output of ${commonizeCInteropTask?.get()?.name} into " + + description = "Copies the output of ${commonizeCInteropTask.get().name} into " + "the root projects .gradle folder for the IDE" } )