[Gradle] Implement KotlinNativeTargetConfigurator.registerEmbedAndSignAppleFrameworkTasks as EP as side effects

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-11-02 17:01:30 +01:00
committed by Space Team
parent 9b47c98ce9
commit faecd7f772
3 changed files with 21 additions and 10 deletions
@@ -68,6 +68,7 @@ import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetSetupAct
import org.jetbrains.kotlin.gradle.targets.native.ConfigureFrameworkExportSideEffect
import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction
import org.jetbrains.kotlin.gradle.targets.native.KotlinNativeConfigureBinariesSideEffect
import org.jetbrains.kotlin.gradle.targets.native.SetupEmbedAndSignAppleFrameworkTaskSideEffect
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizedCInteropApiElementsConfigurationsSetupAction
import org.jetbrains.kotlin.gradle.targets.native.internal.SetupCInteropApiElementsConfigurationSideEffect
import org.jetbrains.kotlin.gradle.targets.native.tasks.artifact.KotlinArtifactsExtensionSetupAction
@@ -119,6 +120,7 @@ internal fun Project.registerKotlinPluginExtensions() {
register(project, CreateDefaultTestRunSideEffect)
register(project, ConfigureFrameworkExportSideEffect)
register(project, SetupCInteropApiElementsConfigurationSideEffect)
register(project, SetupEmbedAndSignAppleFrameworkTaskSideEffect)
}
KotlinCompilationSideEffect.extensionPoint.apply {
@@ -24,10 +24,6 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
// region Configuration.
override fun configurePlatformSpecificModel(target: T) {
if (target.konanTarget.family.isAppleFamily) {
registerEmbedAndSignAppleFrameworkTasks(target)
}
if (PropertiesProvider(target.project).ignoreIncorrectNativeDependencies != true) {
warnAboutIncorrectDependencies(target)
}
@@ -35,12 +31,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
private fun registerEmbedAndSignAppleFrameworkTasks(target: KotlinNativeTarget) {
val project = target.project
target.binaries.withType(Framework::class.java).all { framework ->
project.registerEmbedAndSignAppleFrameworkTask(framework)
}
}
private fun warnAboutIncorrectDependencies(target: KotlinNativeTarget) = target.project.launchInStage(ReadyForExecution) {
@@ -0,0 +1,18 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle.targets.native
import org.jetbrains.kotlin.gradle.plugin.mpp.Framework
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.registerEmbedAndSignAppleFrameworkTask
import org.jetbrains.kotlin.gradle.targets.KotlinTargetSideEffect
internal val SetupEmbedAndSignAppleFrameworkTaskSideEffect = KotlinTargetSideEffect<KotlinNativeTarget> { target ->
if (!target.konanTarget.family.isAppleFamily) return@KotlinTargetSideEffect
target.binaries.withType(Framework::class.java).all { framework ->
target.project.registerEmbedAndSignAppleFrameworkTask(framework)
}
}