[python] (PY-78749) single dialog for all types of Python SDKs

+ old dialogs were removed

GitOrigin-RevId: 00ed85ba578c6419373d8605ed50954e7aa58f0a
This commit is contained in:
Vitaly Legchilkin
2025-10-13 22:54:32 +00:00
committed by intellij-monorepo-bot
parent ab8455f916
commit 5e2028d129
99 changed files with 2693 additions and 3331 deletions
@@ -22,6 +22,7 @@ jvm_library(
"//platform/execution",
"//platform/util",
"@lib//:kotlinx-coroutines-core",
"//python/python-exec-service:community-execService",
]
)
### auto-generated section `build intellij.python.community.testFramework.testEnv.conda` end
@@ -16,5 +16,6 @@
<orderEntry type="module" module-name="intellij.platform.execution" />
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="library" name="kotlinx-coroutines-core" level="project" />
<orderEntry type="module" module-name="intellij.python.community.execService" />
</component>
</module>
@@ -3,12 +3,14 @@ package com.intellij.python.community.testFramework.testEnv.conda
import com.intellij.execution.processTools.getResultStdout
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.projectRoots.Sdk
import com.intellij.python.community.execService.BinOnEel
import com.intellij.python.community.testFramework.testEnv.PythonType
import com.intellij.util.io.awaitExit
import com.jetbrains.python.PythonBinary
import com.jetbrains.python.getOrThrow
import com.jetbrains.python.packaging.PyCondaPackageService
import com.jetbrains.python.packaging.findCondaExecutableRelativeToEnv
import com.jetbrains.python.sdk.add.v2.conda.getCondaVersion
import com.jetbrains.python.sdk.flavors.conda.PyCondaEnv
import com.jetbrains.python.sdk.flavors.conda.PyCondaEnvIdentity
import kotlinx.coroutines.CancellationException
@@ -59,12 +61,19 @@ data object TypeConda : PythonType<PyCondaEnv>("conda") {
}
}
}
return Pair(PyCondaEnv(PyCondaEnvIdentity.UnnamedEnv(envDir.toString(), isBase = true), condaPath.toString()), cleanupCondas)
return Pair(
PyCondaEnv(
envIdentity = PyCondaEnvIdentity.UnnamedEnv(envDir.toString(), isBase = true),
fullCondaPathOnTarget = condaPath.toString(),
),
cleanupCondas
)
}
private suspend fun getCondaNames(condaPath: Path) =
PyCondaEnv.getEnvs(
condaPath.toString()).getOrThrow()
private suspend fun getCondaNames(condaPath: Path): MutableSet<String> {
val envs = PyCondaEnv.getEnvs(BinOnEel(condaPath)).getOrThrow()
.map { it.envIdentity.userReadableName }
.toMutableSet()
return envs
}
}