mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
[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:
committed by
intellij-monorepo-bot
parent
ef82709c51
commit
4c9572f7b9
@@ -14,7 +14,9 @@ import com.intellij.inspectopedia.extractor.data.Inspection
|
|||||||
import com.intellij.inspectopedia.extractor.data.OptionsPanelInfo
|
import com.intellij.inspectopedia.extractor.data.OptionsPanelInfo
|
||||||
import com.intellij.inspectopedia.extractor.utils.HtmlUtils
|
import com.intellij.inspectopedia.extractor.utils.HtmlUtils
|
||||||
import com.intellij.openapi.application.ApplicationInfo
|
import com.intellij.openapi.application.ApplicationInfo
|
||||||
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.application.ModernApplicationStarter
|
import com.intellij.openapi.application.ModernApplicationStarter
|
||||||
|
import com.intellij.openapi.application.ex.ApplicationManagerEx
|
||||||
import com.intellij.openapi.components.serviceAsync
|
import com.intellij.openapi.components.serviceAsync
|
||||||
import com.intellij.openapi.diagnostic.logger
|
import com.intellij.openapi.diagnostic.logger
|
||||||
import com.intellij.openapi.project.ProjectManager
|
import com.intellij.openapi.project.ProjectManager
|
||||||
@@ -50,12 +52,12 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
|
|||||||
}
|
}
|
||||||
catch (e: IOException) {
|
catch (e: IOException) {
|
||||||
LOG.error("Output directory does not exist and could not be created")
|
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)) {
|
if (!Files.isDirectory(outputPath) || !Files.isWritable(outputPath)) {
|
||||||
LOG.error("Output path is invalid")
|
LOG.error("Output path is invalid")
|
||||||
exitProcess(-1)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -113,7 +115,7 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
|
|||||||
catch (e: Throwable) {
|
catch (e: Throwable) {
|
||||||
System.err.println("Error while processing ${wrapper.extension}")
|
System.err.println("Error while processing ${wrapper.extension}")
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
exitProcess(-1)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,9 +141,9 @@ private class InspectopediaExtractor : ModernApplicationStarter() {
|
|||||||
}
|
}
|
||||||
catch (e: Exception) {
|
catch (e: Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
exitProcess(-1)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||||
}
|
}
|
||||||
exitProcess(0)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,10 @@ import com.intellij.openapi.actionSystem.ActionGroup
|
|||||||
import com.intellij.openapi.actionSystem.ActionManager
|
import com.intellij.openapi.actionSystem.ActionManager
|
||||||
import com.intellij.openapi.actionSystem.AnAction
|
import com.intellij.openapi.actionSystem.AnAction
|
||||||
import com.intellij.openapi.actionSystem.impl.ActionManagerImpl
|
import com.intellij.openapi.actionSystem.impl.ActionManagerImpl
|
||||||
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.application.EDT
|
import com.intellij.openapi.application.EDT
|
||||||
import com.intellij.openapi.application.ModernApplicationStarter
|
import com.intellij.openapi.application.ModernApplicationStarter
|
||||||
|
import com.intellij.openapi.application.ex.ApplicationManagerEx
|
||||||
import com.intellij.openapi.components.serviceAsync
|
import com.intellij.openapi.components.serviceAsync
|
||||||
import com.intellij.openapi.extensions.PluginDescriptor
|
import com.intellij.openapi.extensions.PluginDescriptor
|
||||||
import com.intellij.openapi.extensions.PluginId
|
import com.intellij.openapi.extensions.PluginId
|
||||||
@@ -44,7 +46,6 @@ import java.nio.charset.CodingErrorAction
|
|||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.system.exitProcess
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used in installer's "build searchable options" step.
|
* Used in installer's "build searchable options" step.
|
||||||
@@ -61,7 +62,7 @@ private class TraverseUIStarter : ModernApplicationStarter() {
|
|||||||
options = LinkedHashMap(),
|
options = LinkedHashMap(),
|
||||||
outputPath = Path.of(args[1]).toAbsolutePath().normalize(),
|
outputPath = Path.of(args[1]).toAbsolutePath().normalize(),
|
||||||
)
|
)
|
||||||
exitProcess(0)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true )
|
||||||
}
|
}
|
||||||
catch (e: Throwable) {
|
catch (e: Throwable) {
|
||||||
try {
|
try {
|
||||||
@@ -70,7 +71,7 @@ private class TraverseUIStarter : ModernApplicationStarter() {
|
|||||||
}
|
}
|
||||||
catch (ignored: Throwable) {
|
catch (ignored: Throwable) {
|
||||||
}
|
}
|
||||||
exitProcess(-1)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1 )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.intellij.openapi.actionSystem.ex.ActionManagerEx
|
|||||||
import com.intellij.openapi.application.ModernApplicationStarter
|
import com.intellij.openapi.application.ModernApplicationStarter
|
||||||
import com.intellij.openapi.application.PathManager
|
import com.intellij.openapi.application.PathManager
|
||||||
import com.intellij.openapi.application.ex.ApplicationInfoEx
|
import com.intellij.openapi.application.ex.ApplicationInfoEx
|
||||||
|
import com.intellij.openapi.application.ex.ApplicationManagerEx
|
||||||
import com.intellij.openapi.components.serviceAsync
|
import com.intellij.openapi.components.serviceAsync
|
||||||
import com.intellij.openapi.diagnostic.logger
|
import com.intellij.openapi.diagnostic.logger
|
||||||
import com.intellij.openapi.keymap.KeymapUtil
|
import com.intellij.openapi.keymap.KeymapUtil
|
||||||
@@ -17,7 +18,6 @@ import kotlinx.coroutines.withContext
|
|||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import kotlin.system.exitProcess
|
|
||||||
|
|
||||||
private val LOG = logger<KeymapGenerator>()
|
private val LOG = logger<KeymapGenerator>()
|
||||||
|
|
||||||
@@ -66,9 +66,9 @@ private class KeymapGenerator : ModernApplicationStarter() {
|
|||||||
}
|
}
|
||||||
catch (e: IOException) {
|
catch (e: IOException) {
|
||||||
LOG.error("Cannot save keymaps", e)
|
LOG.error("Cannot save keymaps", e)
|
||||||
exitProcess(1)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true, -1)
|
||||||
}
|
}
|
||||||
exitProcess(0)
|
ApplicationManagerEx.getApplicationEx().exit( /*force: */ false, /*confirm: */ true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user