[core] IDEA-337801: change exitProcess() -> app.exit()

+ exitProcess triggers ShutDownTracker directly, avoiding normal container shutdown, which causes de-initialization ordering problems

GitOrigin-RevId: 50668ba053f66d30b241f134c30888ec19f37896
This commit is contained in:
Ruslan Cheremin
2024-07-16 12:45:29 +02:00
committed by intellij-monorepo-bot
parent ef82709c51
commit 4c9572f7b9
3 changed files with 14 additions and 11 deletions

View File

@@ -14,7 +14,9 @@ import com.intellij.inspectopedia.extractor.data.Inspection
import com.intellij.inspectopedia.extractor.data.OptionsPanelInfo
import com.intellij.inspectopedia.extractor.utils.HtmlUtils
import com.intellij.openapi.application.ApplicationInfo
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.ModernApplicationStarter
import com.intellij.openapi.application.ex.ApplicationManagerEx
import com.intellij.openapi.components.serviceAsync
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.project.ProjectManager
@@ -50,12 +52,12 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
}
catch (e: IOException) {
LOG.error("Output directory does not exist and could not be created")
exitProcess(-1)
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
}
if (!Files.isDirectory(outputPath) || !Files.isWritable(outputPath)) {
LOG.error("Output path is invalid")
exitProcess(-1)
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
}
try {
@@ -113,7 +115,7 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
catch (e: Throwable) {
System.err.println("Error while processing ${wrapper.extension}")
e.printStackTrace()
exitProcess(-1)
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
}
}
@@ -139,9 +141,9 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
}
catch (e: Exception) {
e.printStackTrace()
exitProcess(-1)
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
}
exitProcess(0)
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true )
}
}