mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[python] PY-79486: (WIP) EP can only have ToolId and not icon.
Icons can't be sent to the front GitOrigin-RevId: 4cc4341094fb6f61f1fdcc62da2d8c3586faaff7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
434590383d
commit
b5a1bf61a2
+3
-3
@@ -36,7 +36,7 @@ import com.jetbrains.python.PyBundle
|
||||
import com.jetbrains.python.getOrLogException
|
||||
import com.jetbrains.python.sdk.*
|
||||
import com.jetbrains.python.sdk.conda.PyCondaSdkCustomizer
|
||||
import com.jetbrains.python.sdk.configuration.CreateSdkInfo
|
||||
import com.jetbrains.python.sdk.configuration.CreateSdkInfoWithTool
|
||||
import com.jetbrains.python.sdk.configuration.PyProjectSdkConfiguration.setReadyToUseSdk
|
||||
import com.jetbrains.python.sdk.configuration.PyProjectSdkConfiguration.setSdkUsingCreateSdkInfo
|
||||
import com.jetbrains.python.sdk.configuration.PyProjectSdkConfiguration.suppressTipAndInspectionsFor
|
||||
@@ -98,7 +98,7 @@ class PythonSdkConfigurator : DirectoryProjectConfigurator {
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun findSuitableCreateSdkInfos(module: Module): List<CreateSdkInfo> = withContext(Dispatchers.Default) {
|
||||
private suspend fun findSuitableCreateSdkInfos(module: Module): List<CreateSdkInfoWithTool> = withContext(Dispatchers.Default) {
|
||||
if (!TrustedProjects.isProjectTrusted(module.project) || ApplicationManager.getApplication().isUnitTestMode) {
|
||||
emptyList()
|
||||
}
|
||||
@@ -112,7 +112,7 @@ class PythonSdkConfigurator : DirectoryProjectConfigurator {
|
||||
suspend fun configureSdk(
|
||||
project: Project,
|
||||
module: Module,
|
||||
createSdkInfos: List<CreateSdkInfo>,
|
||||
createSdkInfos: List<CreateSdkInfoWithTool>,
|
||||
): Unit = withContext(Dispatchers.Default) {
|
||||
val context = UserDataHolderBase()
|
||||
|
||||
|
||||
+3
-2
@@ -25,6 +25,7 @@ import com.intellij.util.FileName
|
||||
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
|
||||
import com.jetbrains.python.PyBundle
|
||||
import com.jetbrains.python.PyToolUIInfo
|
||||
import com.jetbrains.python.ToolId
|
||||
import com.jetbrains.python.configuration.PyConfigurableInterpreterList
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
import com.jetbrains.python.getOrNull
|
||||
@@ -64,10 +65,10 @@ import kotlin.io.path.name
|
||||
@ApiStatus.Internal
|
||||
class PyEnvironmentYmlSdkConfiguration : PyProjectSdkConfigurationExtension {
|
||||
|
||||
override val toolInfo: PyToolUIInfo = PyToolUIInfo("Conda", PythonSdkUIIcons.Tools.Anaconda)
|
||||
override val toolId: ToolId = ToolId("Conda")
|
||||
|
||||
override suspend fun checkEnvironmentAndPrepareSdkCreator(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo, { checkManageableEnv(module, it) }
|
||||
{ checkManageableEnv(module, it) }
|
||||
) { envExists ->
|
||||
{ needsConfirmation -> createAndAddSdk(module, if (needsConfirmation) Source.CONFIGURATOR else Source.INSPECTION, envExists) }
|
||||
}
|
||||
|
||||
-3
@@ -27,16 +27,13 @@ class PyHatchSdkConfiguration : PyProjectTomlConfigurationExtension {
|
||||
private val LOGGER = Logger.getInstance(PyHatchSdkConfiguration::class.java)
|
||||
}
|
||||
|
||||
override val toolInfo: PyToolUIInfo = HATCH_UI_INFO
|
||||
override val toolId: ToolId = HATCH_TOOL_ID
|
||||
|
||||
override suspend fun checkEnvironmentAndPrepareSdkCreator(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo,
|
||||
{ checkExistence -> checkManageableEnv(module, checkExistence, true) },
|
||||
) { envExists -> { createSdk(module, envExists) } }
|
||||
|
||||
override suspend fun createSdkWithoutPyProjectTomlChecks(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo,
|
||||
{ checkExistence -> checkManageableEnv(module, checkExistence, false) },
|
||||
) { envExists -> { createSdk(module, envExists) } }
|
||||
|
||||
|
||||
+3
-2
@@ -25,6 +25,7 @@ import com.intellij.ui.components.JBLabel
|
||||
import com.intellij.util.ui.JBUI
|
||||
import com.jetbrains.python.PyBundle
|
||||
import com.jetbrains.python.PyToolUIInfo
|
||||
import com.jetbrains.python.ToolId
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
import com.jetbrains.python.getOrLogException
|
||||
import com.jetbrains.python.sdk.PythonSdkType
|
||||
@@ -53,10 +54,10 @@ private val LOGGER = Logger.getInstance(PyPipfileSdkConfiguration::class.java)
|
||||
@ApiStatus.Internal
|
||||
class PyPipfileSdkConfiguration : PyProjectSdkConfigurationExtension {
|
||||
|
||||
override val toolInfo: PyToolUIInfo = PyToolUIInfo("Pipenv", PythonSdkUIIcons.Tools.Pip)
|
||||
override val toolId: ToolId = ToolId("pipenv")
|
||||
|
||||
override suspend fun checkEnvironmentAndPrepareSdkCreator(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo, { checkManageableEnv(module, it) }
|
||||
{ checkManageableEnv(module, it) }
|
||||
) { envExists ->
|
||||
{ needsConfirmation -> createAndAddSdk(module, if (needsConfirmation) Source.CONFIGURATOR else Source.INSPECTION, envExists) }
|
||||
}
|
||||
|
||||
-3
@@ -43,16 +43,13 @@ class PyPoetrySdkConfiguration : PyProjectTomlConfigurationExtension {
|
||||
private val LOGGER = Logger.getInstance(PyPoetrySdkConfiguration::class.java)
|
||||
}
|
||||
|
||||
override val toolInfo: PyToolUIInfo = POETRY_UI_INFO
|
||||
override val toolId: ToolId = POETRY_TOOL_ID
|
||||
|
||||
override suspend fun checkEnvironmentAndPrepareSdkCreator(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo,
|
||||
{ checkExistence -> checkManageableEnv(module, checkExistence, true) },
|
||||
) { { createPoetry(module) } }
|
||||
|
||||
override suspend fun createSdkWithoutPyProjectTomlChecks(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo,
|
||||
{ checkExistence -> checkManageableEnv(module, checkExistence, false) },
|
||||
) { { createPoetry(module) } }
|
||||
|
||||
|
||||
+2
-4
@@ -21,11 +21,10 @@ import com.intellij.pycharm.community.ide.impl.configuration.PySdkConfigurationC
|
||||
import com.intellij.pycharm.community.ide.impl.configuration.PySdkConfigurationCollector.Source
|
||||
import com.intellij.pycharm.community.ide.impl.configuration.PySdkConfigurationCollector.VirtualEnvResult
|
||||
import com.intellij.pycharm.community.ide.impl.configuration.ui.PyAddNewVirtualEnvFromFilePanel
|
||||
import com.intellij.python.sdk.ui.icons.PythonSdkUIIcons
|
||||
import com.intellij.ui.IdeBorderFactory
|
||||
import com.intellij.ui.components.JBLabel
|
||||
import com.intellij.util.ui.JBUI
|
||||
import com.jetbrains.python.PyToolUIInfo
|
||||
import com.jetbrains.python.ToolId
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
import com.jetbrains.python.packaging.PyPackageUtil
|
||||
import com.jetbrains.python.packaging.management.PythonPackageManager
|
||||
@@ -49,10 +48,9 @@ private val LOGGER = fileLogger()
|
||||
@ApiStatus.Internal
|
||||
class PyRequirementsTxtOrSetupPySdkConfiguration : PyProjectSdkConfigurationExtension {
|
||||
|
||||
override val toolInfo: PyToolUIInfo = PyToolUIInfo("venv", PythonSdkUIIcons.Tools.Pip)
|
||||
override val toolId: ToolId = ToolId("PyRequirements") // This is nonsense, but will be dropped soon
|
||||
|
||||
override suspend fun checkEnvironmentAndPrepareSdkCreator(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo,
|
||||
{ checkManageableEnv(module) },
|
||||
) { { needsConfirmation -> createAndAddSdk(module, if (needsConfirmation) Source.CONFIGURATOR else Source.INSPECTION) } }
|
||||
|
||||
|
||||
+2
-3
@@ -41,15 +41,14 @@ class PyUvSdkConfiguration : PyProjectTomlConfigurationExtension {
|
||||
private val existingSdks by lazy { PythonSdkUtil.getAllSdks() }
|
||||
private val context = UserDataHolderBase()
|
||||
|
||||
override val toolInfo: PyToolUIInfo = UV_UI_INFO
|
||||
override val toolId: ToolId = UV_TOOL_ID
|
||||
|
||||
override suspend fun checkEnvironmentAndPrepareSdkCreator(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo, { checkExistence -> checkManageableEnv(module, checkExistence, true) }
|
||||
{ checkExistence -> checkManageableEnv(module, checkExistence, true) }
|
||||
) { envExists -> { createUv(module, envExists) } }
|
||||
|
||||
override suspend fun createSdkWithoutPyProjectTomlChecks(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo, { checkExistence -> checkManageableEnv(module, checkExistence, false) }
|
||||
{ checkExistence -> checkManageableEnv(module, checkExistence, false) }
|
||||
) { envExists -> { createUv(module, envExists) } }
|
||||
|
||||
override fun asPyProjectTomlSdkConfigurationExtension(): PyProjectTomlConfigurationExtension = this
|
||||
|
||||
+3
-2
@@ -9,6 +9,7 @@ import com.intellij.pycharm.community.ide.impl.PyCharmCommunityCustomizationBund
|
||||
import com.intellij.pycharm.community.ide.impl.findEnvOrNull
|
||||
import com.jetbrains.python.PyBundle
|
||||
import com.jetbrains.python.PyToolUIInfo
|
||||
import com.jetbrains.python.ToolId
|
||||
import com.jetbrains.python.errorProcessing.MessageError
|
||||
import com.jetbrains.python.errorProcessing.PyResult
|
||||
import com.jetbrains.python.sdk.*
|
||||
@@ -26,10 +27,10 @@ class PyVenvSdkConfiguration : PyProjectSdkConfigurationExtension {
|
||||
private val existingSdks by lazy { PythonSdkUtil.getAllSdks() }
|
||||
private val context = UserDataHolderBase()
|
||||
|
||||
override val toolInfo: PyToolUIInfo = PyToolUIInfo("Virtualenv", null)
|
||||
override val toolId: ToolId = ToolId("Venv")
|
||||
|
||||
override suspend fun checkEnvironmentAndPrepareSdkCreator(module: Module): CreateSdkInfo? = prepareSdkCreator(
|
||||
toolInfo, { checkManageableEnv(module) }
|
||||
{ checkManageableEnv(module) }
|
||||
) { { setupVenv(module) } }
|
||||
|
||||
override fun asPyProjectTomlSdkConfigurationExtension(): PyProjectTomlConfigurationExtension? = null
|
||||
|
||||
Reference in New Issue
Block a user