[Gradle] Implement CInteropCommonizedCInteropApiElementsConfigurationsSetupAction

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-10-16 18:39:16 +02:00
committed by Space Team
parent b9db036053
commit 9d01ad7c3b
3 changed files with 6 additions and 6 deletions
@@ -26,10 +26,8 @@ import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
import org.jetbrains.kotlin.gradle.targets.native.internal.setupCInteropCommonizedCInteropApiElementsConfigurations
import org.jetbrains.kotlin.gradle.targets.native.tasks.artifact.registerKotlinArtifactsExtension
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompileTool
import org.jetbrains.kotlin.gradle.utils.whenEvaluated
import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget.*
@@ -73,7 +71,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
// Ensure that the instance is created and configured during apply
project.kotlinIdeMultiplatformImport
project.locateOrRegisterIdeResolveDependenciesTask()
project.launch { project.setupCInteropCommonizedCInteropApiElementsConfigurations() }
}
private fun exportProjectStructureMetadataForOtherBuilds(
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.WasmSourceSetsNot
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetupAction
import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction
import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizedCInteropApiElementsConfigurationsSetupAction
import org.jetbrains.kotlin.gradle.tooling.RegisterBuildKotlinToolingMetadataTask
/**
@@ -43,6 +44,7 @@ internal fun Project.registerKotlinPluginExtensions() {
register(project, KotlinToolingDiagnosticsSetupAction)
if (isMultiplatform) {
register(project, CInteropCommonizedCInteropApiElementsConfigurationsSetupAction)
register(project, AddBuildListenerForXCodeSetupAction)
register(project, CreateFatFrameworksSetupAction)
}
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.commonizer.identityString
import org.jetbrains.kotlin.gradle.dsl.metadataTarget
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupCoroutine
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.categoryByName
import org.jetbrains.kotlin.gradle.plugin.launch
@@ -26,9 +27,9 @@ import org.jetbrains.kotlin.tooling.core.UnsafeApi
/* Elements configuration */
internal suspend fun Project.setupCInteropCommonizedCInteropApiElementsConfigurations() {
val extension = multiplatformExtensionOrNull ?: return
val cinteropCommonizerTask = commonizeCInteropTask() ?: return
internal val CInteropCommonizedCInteropApiElementsConfigurationsSetupAction = KotlinProjectSetupCoroutine setup@{
val extension = multiplatformExtensionOrNull ?: return@setup
val cinteropCommonizerTask = commonizeCInteropTask() ?: return@setup
/*
Expose api dependencies from Source Sets to the elements configuration