From 80aa2f4cfdb93bd9420dfbd037f6f14aa1f16bca Mon Sep 17 00:00:00 2001 From: "alexey.afanasiev" Date: Mon, 3 Jun 2024 20:41:35 +0200 Subject: [PATCH] QD-9205 Replace "inspect qodana" with "qodana" AppStarter GitOrigin-RevId: 61ddfe1ed1839fcec9e6a9053dccd02614c02915 --- .../InspectionApplicationBase.java | 2 +- .../InspectionApplicationFactory.kt | 34 ----------------- .../intellij/codeInspection/InspectionMain.kt | 38 ++++--------------- 3 files changed, 9 insertions(+), 65 deletions(-) delete mode 100644 platform/inspect/src/com/intellij/codeInspection/InspectionApplicationFactory.kt diff --git a/platform/inspect/src/com/intellij/codeInspection/InspectionApplicationBase.java b/platform/inspect/src/com/intellij/codeInspection/InspectionApplicationBase.java index 95388f820462..3f96aefd1df9 100644 --- a/platform/inspect/src/com/intellij/codeInspection/InspectionApplicationBase.java +++ b/platform/inspect/src/com/intellij/codeInspection/InspectionApplicationBase.java @@ -78,7 +78,7 @@ import java.util.function.Predicate; import static com.intellij.configurationStore.StoreUtilKt.forPoorJavaClientOnlySaveProjectIndEdtDoNotUseThisMethod; -public class InspectionApplicationBase implements CommandLineInspectionProgressReporter, InspectionApplicationStart.Synchronous { +public class InspectionApplicationBase implements CommandLineInspectionProgressReporter { public static final Logger LOG = Logger.getInstance(InspectionApplicationBase.class); public static final String PROJECT_STRUCTURE_DIR = "projectStructure"; diff --git a/platform/inspect/src/com/intellij/codeInspection/InspectionApplicationFactory.kt b/platform/inspect/src/com/intellij/codeInspection/InspectionApplicationFactory.kt deleted file mode 100644 index 1c0b0a17f4b5..000000000000 --- a/platform/inspect/src/com/intellij/codeInspection/InspectionApplicationFactory.kt +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.codeInspection - -import com.intellij.openapi.extensions.ExtensionPointName -import com.intellij.openapi.extensions.ExtensionPointName.Companion.create -import org.jetbrains.annotations.ApiStatus - -@ApiStatus.Internal -interface InspectionApplicationFactory { - fun id(): String - - fun getApplication(args: List): InspectionApplicationStart - - companion object { - @JvmStatic - fun getApplication(id: String, args: List): InspectionApplicationStart = - EP_NAME.extensionList - .firstOrNull { it.id() == id } - ?.getApplication(args) - ?: throw InspectionApplicationException("There is no loaded inspect engine with id= '$id'. Please check loaded plugin list.") - - val EP_NAME: ExtensionPointName = create("com.intellij.inspectionApplicationFactory") - } -} - -sealed interface InspectionApplicationStart { - interface Synchronous : InspectionApplicationStart { - fun startup() - } - - interface Asynchronous : InspectionApplicationStart { - suspend fun startup() - } -} diff --git a/platform/inspect/src/com/intellij/codeInspection/InspectionMain.kt b/platform/inspect/src/com/intellij/codeInspection/InspectionMain.kt index 7dbb29092495..84b23e094b2c 100644 --- a/platform/inspect/src/com/intellij/codeInspection/InspectionMain.kt +++ b/platform/inspect/src/com/intellij/codeInspection/InspectionMain.kt @@ -1,38 +1,19 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.codeInspection -import com.intellij.codeInspection.InspectionApplicationFactory.Companion.getApplication import com.intellij.openapi.application.ModernApplicationStarter import java.util.concurrent.CompletableFuture import kotlin.system.exitProcess class InspectionMain : ModernApplicationStarter() { - private lateinit var application: InspectionApplicationStart + private lateinit var application: InspectionApplicationBase override fun premain(args: List) { InspectionApplicationBase.LOG.info("Command line arguments: $args") - application = if (args.size > 1 && "qodana" == args[1]) { - buildQodanaApplication(args) - } - else { - buildInspectionApplication(args) - } + application = buildInspectionApplication(args) } - private fun buildQodanaApplication(args: List) = - try { - getApplication("qodana", args.subList(2, args.size)) - } - catch (e: InspectionApplicationException) { - System.err.println(e.message) - exitProcess(1) - } - catch (e: Exception) { - e.printStackTrace() // workaround for IDEA-289086 - exitProcess(1) - } - - private fun buildInspectionApplication(args: List): InspectionApplicationStart { + private fun buildInspectionApplication(args: List): InspectionApplicationBase { val app = InspectionApplicationBase() if (args.size < 4) { System.err.println("invalid args:$args") @@ -112,14 +93,11 @@ class InspectionMain : ModernApplicationStarter() { } override suspend fun start(args: List) { - when (val r = application) { - is InspectionApplicationStart.Asynchronous -> r.startup() - /* - todo https://youtrack.jetbrains.com/issue/IDEA-298594 - See also com.intellij.platform.ide.bootstrap.ApplicationLoader.executeApplicationStarter - */ - is InspectionApplicationStart.Synchronous -> CompletableFuture.runAsync(r::startup) - } + /* + todo https://youtrack.jetbrains.com/issue/IDEA-298594 + See also com.intellij.platform.ide.bootstrap.ApplicationLoader.executeApplicationStarter + */ + CompletableFuture.runAsync(application::startup) }