[Gradle] Implement IdeResolveDependenciesTaskSetupAction

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-10-16 18:40:14 +02:00
committed by Space Team
parent 9d01ad7c3b
commit 246deafd6d
3 changed files with 7 additions and 2 deletions
@@ -13,6 +13,7 @@ import org.gradle.api.tasks.TaskProvider
import org.gradle.work.DisableCachingByDefault
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependencyCoordinates
import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupAction
import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
import org.jetbrains.kotlin.gradle.utils.appendLine
import org.jetbrains.kotlin.gradle.utils.notCompatibleWithConfigurationCacheCompat
@@ -20,6 +21,10 @@ import org.jetbrains.kotlin.tooling.core.Extras
import java.io.File
import java.lang.reflect.Type
internal val IdeResolveDependenciesTaskSetupAction = KotlinProjectSetupAction {
locateOrRegisterIdeResolveDependenciesTask()
}
internal fun Project.locateOrRegisterIdeResolveDependenciesTask(): TaskProvider<IdeResolveDependenciesTask> {
return locateOrRegisterTask("resolveIdeDependencies") { task ->
task.description = "Debugging/Diagnosing task that will resolve dependencies for the IDE"
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.AfterEvalu
import org.jetbrains.kotlin.gradle.plugin.hierarchy.orNull
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.internal.runDeprecationDiagnostics
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultLanguageSettingsBuilder
@@ -70,7 +69,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
// Ensure that the instance is created and configured during apply
project.kotlinIdeMultiplatformImport
project.locateOrRegisterIdeResolveDependenciesTask()
}
private fun exportProjectStructureMetadataForOtherBuilds(
@@ -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.ide.IdeResolveDependenciesTaskSetupAction
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
@@ -44,6 +45,7 @@ internal fun Project.registerKotlinPluginExtensions() {
register(project, KotlinToolingDiagnosticsSetupAction)
if (isMultiplatform) {
register(project, IdeResolveDependenciesTaskSetupAction)
register(project, CInteropCommonizedCInteropApiElementsConfigurationsSetupAction)
register(project, AddBuildListenerForXCodeSetupAction)
register(project, CreateFatFrameworksSetupAction)