Skip to content

Commit 2001f3c

Browse files
committed
Make CreatorFinalizer#execute suspendable
1 parent e4ae7da commit 2001f3c

File tree

6 files changed

+10
-16
lines changed

6 files changed

+10
-16
lines changed

src/main/kotlin/creator/custom/CreatorTemplateProcessor.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
package com.demonwav.mcdev.creator.custom
2222

2323
import com.demonwav.mcdev.asset.MCDevBundle
24-
import com.demonwav.mcdev.asset.MCDevBundle.invoke
2524
import com.demonwav.mcdev.creator.custom.finalizers.CreatorFinalizer
2625
import com.demonwav.mcdev.creator.custom.providers.EmptyLoadedTemplate
2726
import com.demonwav.mcdev.creator.custom.providers.LoadedTemplate
@@ -56,12 +55,10 @@ import com.intellij.ui.dsl.builder.panel
5655
import com.intellij.util.application
5756
import java.nio.file.Path
5857
import java.util.function.Consumer
59-
import kotlin.collections.mapNotNull
60-
import kotlin.collections.orEmpty
61-
import kotlin.collections.set
6258
import kotlin.io.path.createDirectories
6359
import kotlin.io.path.writeText
6460
import kotlinx.coroutines.CoroutineScope
61+
import kotlinx.coroutines.launch
6562

6663
interface ExternalTemplatePropertyProvider {
6764

@@ -287,7 +284,7 @@ class CreatorTemplateProcessor(
287284
}
288285
}
289286

290-
val finalizeAction = {
287+
val finalizeAction = suspend {
291288
WriteAction.runAndWait<Throwable> {
292289
LocalFileSystem.getInstance().refresh(false)
293290
// Apparently a module root is required for the reformat to work
@@ -305,7 +302,7 @@ class CreatorTemplateProcessor(
305302
if (context.wizardContext.isCreatingNewProject) {
306303
TemplateService.instance.registerFinalizerAction(project, finalizeAction)
307304
} else {
308-
application.executeOnPooledThread { finalizeAction() }
305+
context.scope.launch { finalizeAction() }
309306
}
310307
}
311308

src/main/kotlin/creator/custom/finalizers/CreatorFinalizer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ interface CreatorFinalizer {
3838

3939
fun validate(reporter: TemplateValidationReporter, properties: Map<String, Any>) = Unit
4040

41-
fun execute(
41+
suspend fun execute(
4242
context: WizardContext,
4343
project: Project,
4444
properties: Map<String, Any>,
@@ -83,7 +83,7 @@ interface CreatorFinalizer {
8383
}
8484
}
8585

86-
fun executeAll(
86+
suspend fun executeAll(
8787
context: WizardContext,
8888
project: Project,
8989
finalizers: List<Map<String, Any>>,

src/main/kotlin/creator/custom/finalizers/GitAddAllFinalizer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import com.intellij.openapi.project.Project
2727

2828
class GitAddAllFinalizer : CreatorFinalizer {
2929

30-
override fun execute(
30+
override suspend fun execute(
3131
context: WizardContext,
3232
project: Project,
3333
properties: Map<String, Any>,

src/main/kotlin/creator/custom/finalizers/ImportGradleProjectFinalizer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import org.jetbrains.plugins.gradle.service.project.open.linkAndRefreshGradlePro
2828

2929
class ImportGradleProjectFinalizer : CreatorFinalizer {
3030

31-
override fun execute(
31+
override suspend fun execute(
3232
context: WizardContext,
3333
project: Project,
3434
properties: Map<String, Any>,

src/main/kotlin/creator/custom/finalizers/ImportMavenProjectFinalizer.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,12 @@ import com.intellij.openapi.diagnostic.thisLogger
2525
import com.intellij.openapi.project.Project
2626
import com.intellij.openapi.vfs.VfsUtil
2727
import java.nio.file.Path
28-
import kotlinx.coroutines.runBlocking
2928
import org.jetbrains.idea.maven.buildtool.MavenSyncSpec
3029
import org.jetbrains.idea.maven.project.MavenProjectsManager
3130

3231
class ImportMavenProjectFinalizer : CreatorFinalizer {
3332

34-
override fun execute(
33+
override suspend fun execute(
3534
context: WizardContext,
3635
project: Project,
3736
properties: Map<String, Any>,
@@ -44,9 +43,7 @@ class ImportMavenProjectFinalizer : CreatorFinalizer {
4443
thisLogger().info("Invoking import on EDT pomFile = ${pomFile.path}")
4544
val projectsManager = MavenProjectsManager.getInstance(project)
4645
projectsManager.addManagedFiles(listOf(pomFile))
47-
runBlocking {
48-
projectsManager.updateAllMavenProjects(MavenSyncSpec.incremental("ImportMavenProjectFinalizer", false))
49-
}
46+
projectsManager.updateAllMavenProjects(MavenSyncSpec.incremental("ImportMavenProjectFinalizer", false))
5047

5148
thisLogger().info("Import finished")
5249
}

src/main/kotlin/creator/custom/finalizers/RunGradleTasksFinalizer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class RunGradleTasksFinalizer : CreatorFinalizer {
3939
}
4040
}
4141

42-
override fun execute(
42+
override suspend fun execute(
4343
context: WizardContext,
4444
project: Project,
4545
properties: Map<String, Any>,

0 commit comments

Comments
 (0)