cleanup dead code

GitOrigin-RevId: ca6caaa2f221c3f7e37c61335d0e685b8c44ea47
This commit is contained in:
Aleksandr Sorotskii
2024-09-17 00:03:49 +02:00
committed by intellij-monorepo-bot
parent 088a380b86
commit bd73ac7b00
4 changed files with 4 additions and 44 deletions

View File

@@ -1,36 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.jetbrains.python.sdk
import com.intellij.execution.target.FullPathOnTarget
import com.intellij.openapi.projectRoots.Sdk
import com.intellij.openapi.projectRoots.SdkAdditionalData
import com.jetbrains.python.packaging.PyCondaPackageService
import com.jetbrains.python.run.isTargetBased
import com.jetbrains.python.sdk.flavors.PyFlavorAndData
import com.jetbrains.python.sdk.flavors.conda.CondaEnvSdkFlavor
import com.jetbrains.python.sdk.flavors.conda.PyCondaEnv
import com.jetbrains.python.sdk.flavors.conda.PyCondaEnvIdentity
import com.jetbrains.python.sdk.flavors.conda.PyCondaFlavorData
import org.jetbrains.annotations.ApiStatus.Internal
import kotlin.io.path.pathString
/**
* Temporary hack to convert legacy conda SDK to the new API.
* Given that [sdk] is local python SDK with ``homePath`` pointing to some ``python`` inside of conda env, we fix [additionalData]
*/
@Suppress("DEPRECATION")
@JvmOverloads
@Internal
fun fixPythonCondaSdk(sdk: Sdk, additionalData: SdkAdditionalData, suggestedCondaPath: FullPathOnTarget? = null) {
if (additionalData !is PythonSdkAdditionalData) return
if (sdk.isTargetBased) return
if (additionalData.flavor is CondaEnvSdkFlavor) return
val condaPath = suggestedCondaPath ?: PyCondaPackageService.getCondaExecutable(sdk.homePath) ?: return
val envPath = PythonSdkUtil.findCondaMeta(sdk.homePath)?.parent?.toNioPath()?.pathString ?: return
val env = PyCondaEnv(PyCondaEnvIdentity.UnnamedEnv(envPath, isBase = condaPath.startsWith(envPath)), condaPath)
additionalData.changeFlavorAndData(PyFlavorAndData(PyCondaFlavorData(env), CondaEnvSdkFlavor.getInstance()))
}

View File

@@ -297,13 +297,13 @@ public final class PythonSdkType extends SdkType {
// TODO we should have "remote" SDK data with unknown credentials anyway!
}
}
var additionalData = PySdkProvider.EP_NAME.getExtensionList().stream()
.map(ext -> ext.loadAdditionalDataForSdk(additional))
.filter(data -> data != null)
.findFirst()
.orElseGet(() -> PythonSdkAdditionalData.loadFromElement(additional));
// Convert legacy conda SDK, temporary fix.
PyCondaSdkFixKt.fixPythonCondaSdk(currentSdk, additionalData);
return additionalData;
}

View File

@@ -127,8 +127,7 @@ open class PyAddNewCondaEnvPanel(
PyCondaPackageService.onCondaEnvCreated(condaPath)
project.excludeInnerVirtualEnv(sdk)
// Old conda created, convert to new
fixPythonCondaSdk(sdk, sdk.getOrCreateAdditionalData(), condaPath)
return sdk
}

View File

@@ -20,7 +20,6 @@ import com.intellij.openapi.util.Ref;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.jetbrains.python.sdk.*;
import com.jetbrains.python.sdk.flavors.PythonSdkFlavor;
import com.jetbrains.python.sdk.skeletons.PySkeletonRefresher;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -61,11 +60,9 @@ public final class PySdkTools {
final Sdk sdk = SdkConfigurationUtil.setupSdk(NO_SDK, sdkHome, PythonSdkType.getInstance(), null, sdkHome.getPath());
Assert.assertNotNull("Failed to create SDK on " + sdkHome, sdk);
// Env might be conda, so we look for conda binary and configure it as conda
// Consider migrating to `conda` tag
PyCondaSdkFixKt.fixPythonCondaSdk(sdk, PySdkExtKt.getOrCreateAdditionalData(sdk));
ref.set(sdk);
});
final Sdk sdk = ref.get();
if (sdk != null) {
ApplicationManager.getApplication().invokeAndWait(() -> SdkConfigurationUtil.addSdk(sdk));