[Gradle] Implement AddBuildListenerForXCodeSetupAction

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-10-16 18:38:05 +02:00
committed by Space Team
parent 3be2eb9b31
commit b9db036053
3 changed files with 7 additions and 5 deletions
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.gradle.plugin.hierarchy.setupDefaultKotlinHierarchy
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
import org.jetbrains.kotlin.gradle.plugin.ide.locateOrRegisterIdeResolveDependenciesTask
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin.Companion.sourceSetFreeCompilerArgsPropertyName
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.addBuildListenerForXcode
import org.jetbrains.kotlin.gradle.plugin.mpp.internal.runDeprecationDiagnostics
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultLanguageSettingsBuilder
import org.jetbrains.kotlin.gradle.plugin.sources.awaitPlatformCompilations
@@ -75,7 +74,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
project.kotlinIdeMultiplatformImport
project.locateOrRegisterIdeResolveDependenciesTask()
project.launch { project.setupCInteropCommonizedCInteropApiElementsConfigurations() }
project.addBuildListenerForXcode()
}
private fun exportProjectStructureMetadataForOtherBuilds(
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.apple
import org.gradle.BuildAdapter
import org.gradle.BuildResult
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupAction
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_NATIVE_USE_XCODE_MESSAGE_STYLE
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin
@@ -27,15 +28,15 @@ private val Project.isXcodeTasksRequested: Boolean
isSyncTask || isEmbedAndSignTask
}
internal fun Project.addBuildListenerForXcode() {
internal val AddBuildListenerForXCodeSetupAction = KotlinProjectSetupAction action@{
if (!useXcodeMessageStyle) {
return
return@action
}
if (isConfigurationCacheRequested) {
// TODO https://youtrack.jetbrains.com/issue/KT-55832
// Configuration cache case will be supported later
return
return@action
}
gradle.addBuildListener(XcodeBuildErrorListener)
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.NoKotlinTargetsDe
import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.PreHmppDependenciesUsageChecker
import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.UnusedSourceSetsChecker
import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.WasmSourceSetsNotFoundChecker
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.tooling.RegisterBuildKotlinToolingMetadataTask
@@ -40,7 +41,9 @@ internal fun Project.registerKotlinPluginExtensions() {
register(project, AddNpmDependencyExtensionProjectSetupAction)
register(project, RegisterBuildKotlinToolingMetadataTask)
register(project, KotlinToolingDiagnosticsSetupAction)
if (isMultiplatform) {
register(project, AddBuildListenerForXCodeSetupAction)
register(project, CreateFatFrameworksSetupAction)
}
}