Wizard: do not run whole JPS project importing in write action
This commit is contained in:
+4
-3
@@ -61,7 +61,7 @@ class IdeaJpsWizardService(
|
|||||||
path: Path,
|
path: Path,
|
||||||
modulesIrs: List<ModuleIR>,
|
modulesIrs: List<ModuleIR>,
|
||||||
buildSystem: BuildSystemType
|
buildSystem: BuildSystemType
|
||||||
): TaskResult<Unit> = runWriteAction {
|
): TaskResult<Unit> {
|
||||||
KotlinSdkType.setUpIfNeeded()
|
KotlinSdkType.setUpIfNeeded()
|
||||||
val projectImporter = ProjectImporter(project, modulesModel, path, modulesIrs)
|
val projectImporter = ProjectImporter(project, modulesModel, path, modulesIrs)
|
||||||
modulesBuilder.addModuleConfigurationUpdater(
|
modulesBuilder.addModuleConfigurationUpdater(
|
||||||
@@ -69,6 +69,7 @@ class IdeaJpsWizardService(
|
|||||||
)
|
)
|
||||||
|
|
||||||
projectImporter.import()
|
projectImporter.import()
|
||||||
|
return UNIT_SUCCESS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +139,7 @@ private class ProjectImporter(
|
|||||||
irsToIdeaModule.forEach { (moduleIr, ideaModule) ->
|
irsToIdeaModule.forEach { (moduleIr, ideaModule) ->
|
||||||
addModuleDependencies(moduleIr, ideaModule, irsToIdeaModuleMap)
|
addModuleDependencies(moduleIr, ideaModule, irsToIdeaModuleMap)
|
||||||
}
|
}
|
||||||
} andThen safe { modulesModel.commit() }
|
} andThen safe { runWriteAction { modulesModel.commit() } }
|
||||||
|
|
||||||
private fun convertModule(moduleIr: ModuleIR): TaskResult<IdeaModule> {
|
private fun convertModule(moduleIr: ModuleIR): TaskResult<IdeaModule> {
|
||||||
val module = modulesModel.newModule(
|
val module = modulesModel.newModule(
|
||||||
@@ -161,7 +162,7 @@ private class ProjectImporter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
rootModel.inheritSdk()
|
rootModel.inheritSdk()
|
||||||
rootModel.commit()
|
runWriteAction { rootModel.commit() }
|
||||||
addLibrariesToTheModule(moduleIr, module)
|
addLibrariesToTheModule(moduleIr, module)
|
||||||
return Success(module)
|
return Success(module)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user