diff --git a/platform/platform-impl/initial-config-import/src/com/intellij/openapi/application/ConfigImportHelper.java b/platform/platform-impl/initial-config-import/src/com/intellij/openapi/application/ConfigImportHelper.java index bfbcfd8a543f..3879bd78edf1 100644 --- a/platform/platform-impl/initial-config-import/src/com/intellij/openapi/application/ConfigImportHelper.java +++ b/platform/platform-impl/initial-config-import/src/com/intellij/openapi/application/ConfigImportHelper.java @@ -300,7 +300,7 @@ public final class ConfigImportHelper { if (importSettings == null || importSettings.shouldRestartAfterVmOptionsChange()) { log.info("The vmoptions file has changed, restarting..."); try { - writeOptionsForRestart(newConfigDir); + InitialConfigImportState.writeOptionsForRestart(newConfigDir); } catch (IOException e) { log.error("cannot write config migration marker file to " + newConfigDir, e); @@ -371,15 +371,6 @@ public final class ConfigImportHelper { return Files.isRegularFile(configDir.resolve(VMOptions.getFileName())); } - private static void writeOptionsForRestart(Path newConfigDir) throws IOException { - var properties = new ArrayList(); - properties.add(InitialConfigImportState.FIRST_SESSION_KEY); - if (InitialConfigImportState.isConfigImported()) { - properties.add(InitialConfigImportState.CONFIG_IMPORTED_IN_CURRENT_SESSION_KEY); - } - new CustomConfigMigrationOption.SetProperties(properties).writeConfigMarkerFile(newConfigDir); - } - private static void restart(List args) { if (Restarter.isSupported()) { try { diff --git a/platform/platform-impl/src/com/intellij/openapi/application/InitialConfigImportState.kt b/platform/platform-impl/src/com/intellij/openapi/application/InitialConfigImportState.kt index 3336ce2cb73a..a02abd0ea742 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/InitialConfigImportState.kt +++ b/platform/platform-impl/src/com/intellij/openapi/application/InitialConfigImportState.kt @@ -3,9 +3,11 @@ package com.intellij.openapi.application import com.intellij.ide.GeneralSettings import com.intellij.idea.AppMode +import com.intellij.openapi.application.CustomConfigMigrationOption.SetProperties import com.intellij.openapi.application.ex.ApplicationManagerEx import com.intellij.openapi.components.StoragePathMacros import org.jetbrains.annotations.ApiStatus +import java.io.IOException import java.nio.file.Files import java.nio.file.Path @@ -49,4 +51,15 @@ object InitialConfigImportState { fun isStartupWizardEnabled(): Boolean = !AppMode.isRemoteDevHost() && System.getProperty("intellij.startup.wizard", if (ApplicationManagerEx.isInIntegrationTest()) "false" else "true").toBoolean() + + @JvmStatic + @Throws(IOException::class) + fun writeOptionsForRestart(newConfigDir: Path) { + val properties = ArrayList() + properties.add(FIRST_SESSION_KEY) + if (isConfigImported()) { + properties.add(CONFIG_IMPORTED_IN_CURRENT_SESSION_KEY) + } + SetProperties(properties).writeConfigMarkerFile(newConfigDir) + } } diff --git a/platform/platform-impl/src/com/intellij/util/singleProduct/MigrationToSingleProduct.kt b/platform/platform-impl/src/com/intellij/util/singleProduct/MigrationToSingleProduct.kt index c802f1d097cc..2e7586ad5471 100644 --- a/platform/platform-impl/src/com/intellij/util/singleProduct/MigrationToSingleProduct.kt +++ b/platform/platform-impl/src/com/intellij/util/singleProduct/MigrationToSingleProduct.kt @@ -11,10 +11,7 @@ import com.intellij.openapi.actionSystem.ActionUiKind import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.CommonDataKeys import com.intellij.openapi.actionSystem.impl.SimpleDataContext -import com.intellij.openapi.application.ApplicationNamesInfo -import com.intellij.openapi.application.EDT -import com.intellij.openapi.application.PathManager -import com.intellij.openapi.application.writeIntentReadAction +import com.intellij.openapi.application.* import com.intellij.openapi.components.service import com.intellij.openapi.fileEditor.FileEditor import com.intellij.openapi.fileEditor.impl.HTMLEditorProvider @@ -73,6 +70,11 @@ fun migrateCommunityToSingleProductIfNeeded(args: List) { val newDir = currentDir.resolveSibling(newDirName) if (Files.exists(newDir)) return + try { + InitialConfigImportState.writeOptionsForRestart(PathManager.getConfigDir()) + } + catch (_: Exception) { } + val commands = buildList { add(listOf("/bin/mv", "-n", currentDir.toString(), newDir.toString())) val vmOptionsFile = currentDir.resolveSibling("${currentDirName}.vmoptions")