Wizard: fix write action scope in IdeaJpsWizardService

#KT-37925 fixed
This commit is contained in:
Ilya Kirillov
2020-04-01 19:52:10 +03:00
parent 24b8495e00
commit 00e5e96fe3
@@ -47,16 +47,14 @@ class IdeaJpsWizardService(
path: Path, path: Path,
modulesIrs: List<ModuleIR>, modulesIrs: List<ModuleIR>,
buildSystem: BuildSystemType buildSystem: BuildSystemType
): TaskResult<Unit> { ): TaskResult<Unit> = runWriteAction {
ideWizard.jpsData.jdk?.let { jdk -> NewProjectUtil.applyJdkToProject(project, jdk) } ideWizard.jpsData.jdk?.let { jdk -> NewProjectUtil.applyJdkToProject(project, jdk) }
KotlinSdkType.setUpIfNeeded() KotlinSdkType.setUpIfNeeded()
modulesBuilder.addModuleConfigurationUpdater(JpsModuleConfigurationUpdater(ideWizard.jpsData)) modulesBuilder.addModuleConfigurationUpdater(JpsModuleConfigurationUpdater(ideWizard.jpsData))
return runWriteAction {
ProjectImporter(project, modulesModel, path, modulesIrs).import() ProjectImporter(project, modulesModel, path, modulesIrs).import()
} }
} }
}
private class JpsModuleConfigurationUpdater(private val jpsData: IdeWizard.JpsData) : ModuleBuilder.ModuleConfigurationUpdater() { private class JpsModuleConfigurationUpdater(private val jpsData: IdeWizard.JpsData) : ModuleBuilder.ModuleConfigurationUpdater() {
override fun update(module: IdeaModule, rootModel: ModifiableRootModel) = with(jpsData) { override fun update(module: IdeaModule, rootModel: ModifiableRootModel) = with(jpsData) {