diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScrtiptModelProcessor.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScrtiptModelProcessor.kt index 6f0895ddd98..0e78d56a80f 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScrtiptModelProcessor.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslScrtiptModelProcessor.kt @@ -42,7 +42,7 @@ fun processScriptModel( val project = task.findProject() ?: return val models = model.toListOfScriptModels(project) - project.kotlinGradleDslSync.getOrPut(task) { KotlinDslGradleBuildSync(task) }.models.addAll(models) + project.kotlinGradleDslSync[task]?.models?.addAll(models) if (models.containsErrors()) { throw IllegalStateException(KotlinIdeaGradleBundle.message("title.kotlin.build.script")) @@ -102,9 +102,7 @@ private fun KotlinDslScriptsModel.toListOfScriptModels(project: Project): List() +class KotlinDslGradleBuildSync(val workingDir: String, val taskId: ExternalSystemTaskId) { val models = mutableListOf() } diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslSyncListener.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslSyncListener.kt index 6ce4a2efd0a..66e3fc3f47b 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslSyncListener.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/importing/KotlinDslSyncListener.kt @@ -13,18 +13,15 @@ import org.jetbrains.kotlin.idea.framework.GRADLE_SYSTEM_ID import org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptDefinitionsContributor class KotlinDslSyncListener : ExternalSystemTaskNotificationListenerAdapter() { - private val workingDirs = hashMapOf() - override fun onStart(id: ExternalSystemTaskId, workingDir: String?) { if (!isGradleProjectImport(id)) return if (workingDir == null) return gradleState.isSyncInProgress = true - workingDirs[id] = workingDir val project = id.findProject() ?: return - project.kotlinGradleDslSync[id] = KotlinDslGradleBuildSync(id) + project.kotlinGradleDslSync[id] = KotlinDslGradleBuildSync(workingDir, id) } override fun onEnd(id: ExternalSystemTaskId) { @@ -32,7 +29,6 @@ class KotlinDslSyncListener : ExternalSystemTaskNotificationListenerAdapter() { gradleState.isSyncInProgress = false - val workingDir = workingDirs.remove(id) ?: return val project = id.findProject() ?: return @Suppress("DEPRECATION") @@ -41,7 +37,6 @@ class KotlinDslSyncListener : ExternalSystemTaskNotificationListenerAdapter() { val sync = project.kotlinGradleDslSync.remove(id) if (sync != null) { // For Gradle 6.0 or higher - sync.workingDir = workingDir saveScriptModels(project, sync) } } @@ -51,8 +46,6 @@ class KotlinDslSyncListener : ExternalSystemTaskNotificationListenerAdapter() { gradleState.isSyncInProgress = false - workingDirs.remove(id) - val project = id.findProject() ?: return project.kotlinGradleDslSync.remove(id)