diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt index eb5824f54ac..33dd48c9521 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt @@ -150,7 +150,7 @@ open class KotlinNativeTargetConfigurator : AbstractKotl } project.commonizeCInteropTask?.configure { commonizeCInteropTask -> - commonizeCInteropTask.from((interopTask.get())) + commonizeCInteropTask.from(interopTask) } val interopOutput = project.files(interopTask.map { it.outputFileProvider }) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt index 33d500f929e..117764a9389 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerTask.kt @@ -12,6 +12,7 @@ import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property import org.gradle.api.provider.Provider +import org.gradle.api.provider.SetProperty import org.gradle.api.tasks.* import org.gradle.process.ExecOperations import org.jetbrains.kotlin.commonizer.* @@ -136,7 +137,7 @@ internal open class CInteropCommonizerTask (group.targets + group.targets.allLeaves()).map { target -> val externalDependencyFiles: List = when (target) { is LeafCommonizerTarget -> { - cinterops + cinterops.get() .filter { cinterop -> cinterop.identifier in group.interops && cinterop.konanTarget == target.konanTarget } .map { cinterop -> cinterop.dependencies } } @@ -170,25 +171,16 @@ internal open class CInteropCommonizerTask } @get:Nested - internal var cinterops = setOf() - private set + internal val cinterops: SetProperty = objectFactory.setProperty() @get:OutputDirectories val allOutputDirectories: Set get() = allInteropGroups.getOrThrow().map { outputDirectory(it) }.toSet() - fun from(vararg tasks: CInteropProcess) = from( - tasks.toList() - .onEach { task -> this.dependsOn(task) } - .map { task -> task.toGist() } - ) + internal fun from(task: TaskProvider) { + dependsOn(task) + cinterops.add(task.map { it.toGist() }) - internal fun from(vararg cinterop: CInteropGist) { - from(cinterop.toList()) - } - - internal fun from(cinterops: List) { - this.cinterops += cinterops } @TaskAction @@ -197,7 +189,7 @@ internal open class CInteropCommonizerTask } private fun commonize(group: CInteropCommonizerGroup) { - val cinteropsForTarget = cinterops.filter { cinterop -> cinterop.identifier in group.interops } + val cinteropsForTarget = cinterops.get().filter { cinterop -> cinterop.identifier in group.interops } outputDirectory(group).deleteRecursively() if (cinteropsForTarget.isEmpty()) return diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt index f9f70f092cc..3338b82083c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt @@ -21,7 +21,6 @@ internal class CompilerPluginData( internal class SharedCompilationData( val manifestFile: File, - val isAllowCommonizer: Boolean, val refinesPaths: FileCollection, ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index b3647dc0e94..5178ef1af85 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -419,7 +419,6 @@ internal constructor( .map { it + (languageSettings as DefaultLanguageSettingsBuilder).freeCompilerArgsForNonImport } private val runnerSettings = KotlinNativeCompilerRunner.Settings.fromProject(project) - private val isAllowCommonizer: Boolean by lazy { project.isAllowCommonizer() } // endregion. @Suppress("DeprecatedCallableAddReplaceWith") @@ -507,7 +506,7 @@ internal constructor( properties[KLIB_PROPERTY_NATIVE_TARGETS] = konanTargetsForManifest properties.saveToFile(org.jetbrains.kotlin.konan.file.File(manifestFile.toPath())) - return SharedCompilationData(manifestFile, isAllowCommonizer, refinesModule) + return SharedCompilationData(manifestFile, refinesModule) } @TaskAction