[jdk] IDEA-380369 Create incomplete JDKs in ExistingJdkConfigurationActivity

The long setupSdkPaths operation is now done in a coroutine to avoid freezes.

#IDEA-380369 Fixed

GitOrigin-RevId: 23c270dcb874d3351c7a9fe50de10e2faa4c7b80
This commit is contained in:
Louis Vignier
2025-10-23 00:38:58 +00:00
committed by intellij-monorepo-bot
parent a270f2b778
commit 9164877035
@@ -2,6 +2,7 @@
package com.intellij.openapi.projectRoots.impl
import com.intellij.openapi.application.edtWriteAction
import com.intellij.openapi.components.service
import com.intellij.openapi.components.serviceAsync
import com.intellij.openapi.project.Project
import com.intellij.openapi.projectRoots.JavaSdk
@@ -40,6 +41,7 @@ private class ExistingJdkConfigurationActivity : ProjectActivity {
}
val rootManager = project.serviceAsync<ProjectRootManager>()
val jdkService = service<AddJdkService>()
val addedJdks = registeredJdks.toMutableList()
val priorityPaths = JavaHomeFinder.getFinder(project).findInJavaHome()
@@ -47,7 +49,7 @@ private class ExistingJdkConfigurationActivity : ProjectActivity {
edtWriteAction {
// Register collected JDKs
for (path in jdkPathsToAdd) {
addedJdks.add(SdkConfigurationUtil.createAndAddSDK(path, javaSdk))
addedJdks.add(jdkService.createIncompleteJdk(path))
}
// Set project SDK