[Gradle] Implement KotlinNativeTargetConfigurator.registerEmbedAndSignAppleFrameworkTasks as EP as side effects
KT-61634
This commit is contained in:
committed by
Space Team
parent
9b47c98ce9
commit
faecd7f772
+2
@@ -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.ConfigureFrameworkExportSideEffect
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction
|
import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.KotlinNativeConfigureBinariesSideEffect
|
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.CInteropCommonizedCInteropApiElementsConfigurationsSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.internal.SetupCInteropApiElementsConfigurationSideEffect
|
import org.jetbrains.kotlin.gradle.targets.native.internal.SetupCInteropApiElementsConfigurationSideEffect
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.tasks.artifact.KotlinArtifactsExtensionSetupAction
|
import org.jetbrains.kotlin.gradle.targets.native.tasks.artifact.KotlinArtifactsExtensionSetupAction
|
||||||
@@ -119,6 +120,7 @@ internal fun Project.registerKotlinPluginExtensions() {
|
|||||||
register(project, CreateDefaultTestRunSideEffect)
|
register(project, CreateDefaultTestRunSideEffect)
|
||||||
register(project, ConfigureFrameworkExportSideEffect)
|
register(project, ConfigureFrameworkExportSideEffect)
|
||||||
register(project, SetupCInteropApiElementsConfigurationSideEffect)
|
register(project, SetupCInteropApiElementsConfigurationSideEffect)
|
||||||
|
register(project, SetupEmbedAndSignAppleFrameworkTaskSideEffect)
|
||||||
}
|
}
|
||||||
|
|
||||||
KotlinCompilationSideEffect.extensionPoint.apply {
|
KotlinCompilationSideEffect.extensionPoint.apply {
|
||||||
|
|||||||
+1
-10
@@ -24,10 +24,6 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
|||||||
|
|
||||||
// region Configuration.
|
// region Configuration.
|
||||||
override fun configurePlatformSpecificModel(target: T) {
|
override fun configurePlatformSpecificModel(target: T) {
|
||||||
if (target.konanTarget.family.isAppleFamily) {
|
|
||||||
registerEmbedAndSignAppleFrameworkTasks(target)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PropertiesProvider(target.project).ignoreIncorrectNativeDependencies != true) {
|
if (PropertiesProvider(target.project).ignoreIncorrectNativeDependencies != true) {
|
||||||
warnAboutIncorrectDependencies(target)
|
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) {
|
private fun warnAboutIncorrectDependencies(target: KotlinNativeTarget) = target.project.launchInStage(ReadyForExecution) {
|
||||||
|
|
||||||
|
|||||||
+18
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user