[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.kotlinIdeMultiplatformImport
import org.jetbrains.kotlin.gradle.plugin.ide.locateOrRegisterIdeResolveDependenciesTask 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.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.mpp.internal.runDeprecationDiagnostics
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultLanguageSettingsBuilder import org.jetbrains.kotlin.gradle.plugin.sources.DefaultLanguageSettingsBuilder
import org.jetbrains.kotlin.gradle.plugin.sources.awaitPlatformCompilations import org.jetbrains.kotlin.gradle.plugin.sources.awaitPlatformCompilations
@@ -75,7 +74,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
project.kotlinIdeMultiplatformImport project.kotlinIdeMultiplatformImport
project.locateOrRegisterIdeResolveDependenciesTask() project.locateOrRegisterIdeResolveDependenciesTask()
project.launch { project.setupCInteropCommonizedCInteropApiElementsConfigurations() } project.launch { project.setupCInteropCommonizedCInteropApiElementsConfigurations() }
project.addBuildListenerForXcode()
} }
private fun exportProjectStructureMetadataForOtherBuilds( private fun exportProjectStructureMetadataForOtherBuilds(
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.apple
import org.gradle.BuildAdapter import org.gradle.BuildAdapter
import org.gradle.BuildResult import org.gradle.BuildResult
import org.gradle.api.Project 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
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_NATIVE_USE_XCODE_MESSAGE_STYLE import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_NATIVE_USE_XCODE_MESSAGE_STYLE
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin
@@ -27,15 +28,15 @@ private val Project.isXcodeTasksRequested: Boolean
isSyncTask || isEmbedAndSignTask isSyncTask || isEmbedAndSignTask
} }
internal fun Project.addBuildListenerForXcode() { internal val AddBuildListenerForXCodeSetupAction = KotlinProjectSetupAction action@{
if (!useXcodeMessageStyle) { if (!useXcodeMessageStyle) {
return return@action
} }
if (isConfigurationCacheRequested) { if (isConfigurationCacheRequested) {
// TODO https://youtrack.jetbrains.com/issue/KT-55832 // TODO https://youtrack.jetbrains.com/issue/KT-55832
// Configuration cache case will be supported later // Configuration cache case will be supported later
return return@action
} }
gradle.addBuildListener(XcodeBuildErrorListener) 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.PreHmppDependenciesUsageChecker
import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.UnusedSourceSetsChecker import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.UnusedSourceSetsChecker
import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.WasmSourceSetsNotFoundChecker 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.js.npm.AddNpmDependencyExtensionProjectSetupAction
import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction
import org.jetbrains.kotlin.gradle.tooling.RegisterBuildKotlinToolingMetadataTask import org.jetbrains.kotlin.gradle.tooling.RegisterBuildKotlinToolingMetadataTask
@@ -40,7 +41,9 @@ internal fun Project.registerKotlinPluginExtensions() {
register(project, AddNpmDependencyExtensionProjectSetupAction) register(project, AddNpmDependencyExtensionProjectSetupAction)
register(project, RegisterBuildKotlinToolingMetadataTask) register(project, RegisterBuildKotlinToolingMetadataTask)
register(project, KotlinToolingDiagnosticsSetupAction) register(project, KotlinToolingDiagnosticsSetupAction)
if (isMultiplatform) { if (isMultiplatform) {
register(project, AddBuildListenerForXCodeSetupAction)
register(project, CreateFatFrameworksSetupAction) register(project, CreateFatFrameworksSetupAction)
} }
} }