CommandLineInspectionProjectConfigurator - add getName and getDescription

Preparation step to allow providing configurator hints for a project

GitOrigin-RevId: 5e6422cd64abad9d81fef8249195eea12dbb8422
This commit is contained in:
Eugene Petrenko
2020-05-26 23:14:53 +02:00
committed by intellij-monorepo-bot
parent c741263fab
commit 7fcd50760f
7 changed files with 41 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.progress.ProgressIndicator
import com.intellij.openapi.project.Project
import com.intellij.openapi.project.ProjectBundle
import com.intellij.openapi.roots.ui.configuration.UnknownSdk
import com.intellij.openapi.roots.ui.configuration.UnknownSdkResolver
import com.intellij.openapi.util.registry.Registry
@@ -19,6 +20,12 @@ import kotlin.coroutines.resume
class UnknownSdkInspectionCommandLineConfigurator : CommandLineInspectionProjectConfigurator {
private val LOG: Logger = logger<UnknownSdkInspectionCommandLineConfigurator>()
override fun getName() = "sdk"
override fun getDescription(): String {
return ProjectBundle.message("config.unknown.sdk.commandline.configure")
}
override fun isApplicable(context: CommandLineInspectionProjectConfigurator.ConfiguratorContext): Boolean {
return !ApplicationManager.getApplication().isUnitTestMode
}

View File

@@ -328,3 +328,4 @@ progress.text.installing.jdk.1=Installing {0}...
progress.text2.downloading.jdk=Downloading
progress.text2.unpacking.jdk=Unpacking
error.message.sdk.download.failed=Failed to download {0}
config.unknown.sdk.commandline.configure=Configures unkown project SDKs

View File

@@ -7,6 +7,7 @@ import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -63,6 +64,19 @@ public interface CommandLineInspectionProjectConfigurator {
}
}
/**
* @return stable identifier that can be used to disable a configurator from user scripts
*/
@NotNull
String getName();
/**
* @return human readable description on the configurator actions
*/
@NotNull
@Nls(capitalization = Nls.Capitalization.Sentence)
String getDescription();
/**
* @returns true if any additional configuration is required to inspect the project at the given path.
*/

View File

@@ -164,3 +164,4 @@ gradle.tasks.annotations.looking.for=Looking for annotations for {0}
compiler.build.messages.gradle.configuration.not.found=Unable to make ''{0}''.\nRelated gradle configuration was not found. "Please, re-import the Gradle project and try again.
gradle.project.generation.wrapper.progress.title=Generating Gradle Wrapper
gradle.commandline.description=Configures Gradle projects under the given folder

View File

@@ -14,12 +14,16 @@ import com.intellij.openapi.util.registry.Registry
import com.intellij.util.io.exists
import org.jetbrains.plugins.gradle.settings.GradleImportHintService
import org.jetbrains.plugins.gradle.settings.GradleSettings
import org.jetbrains.plugins.gradle.util.GradleBundle
import org.jetbrains.plugins.gradle.util.GradleConstants
import java.io.File
private val LOG = Logger.getInstance(GradleManager::class.java)
class GradleCommandLineProjectConfigurator : CommandLineInspectionProjectConfigurator {
override fun getName() = "gradle"
override fun getDescription(): String = GradleBundle.message("gradle.commandline.description")
override fun configureEnvironment(context: ConfiguratorContext) = context.run {
Registry.get("external.system.auto.import.disabled").setValue(true)

View File

@@ -13,11 +13,13 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.vfs.VirtualFile;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.PythonFileType;
import com.jetbrains.python.facet.PythonFacetType;
import com.jetbrains.python.sdk.PySdkExtKt;
import com.jetbrains.python.sdk.PythonSdkUpdater;
import com.jetbrains.python.sdk.PythonSdkUtil;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
@@ -26,6 +28,16 @@ import java.nio.file.Path;
import java.util.List;
public class PythonPluginCommandLineInspectionProjectConfigurator implements CommandLineInspectionProjectConfigurator {
@Override
public @NotNull String getName() {
return "python";
}
@Override
public @NotNull @Nls(capitalization = Nls.Capitalization.Sentence) String getDescription() {
return PyBundle.message("py.commandline.configure");
}
@Override
public boolean isApplicable(@NotNull ConfiguratorContext context) {
List<Sdk> sdks = PythonSdkUtil.getAllSdks();

View File

@@ -1090,4 +1090,5 @@ python.compatibility.inspection.advertiser.version.stale.python3.version.warning
python.install.framework.ensure.installed=Ensuring {0} is installed
python.install.framework.checking.is.installed=Checking if {0} is installed...
python.install.framework.installing=Installing {0}...
python.install.framework.installing=Installing {0}...
py.commandline.configure=Confiures Python SDKs for the project