From 230ec9b1566298dcb6d5f65f3058eac82466f91a Mon Sep 17 00:00:00 2001 From: Vladimir Lagunov Date: Fri, 13 Jun 2025 23:28:32 +0200 Subject: [PATCH] IJPL-190497 Eel: Rename EelDescriptor.{platform,osFamily} GitOrigin-RevId: 8f50c3d0adf900298ec54b3e89c539da9c806909 --- .../com/intellij/platform/eel/provider/EelNioBridgeService.kt | 2 +- .../src/com/intellij/platform/eel/provider/EelProvider.kt | 2 +- .../com/intellij/platform/eel/provider/utils/eelPathUtils.kt | 2 +- platform/eel/api-dump-experimental.txt | 2 +- platform/eel/src/com/intellij/platform/eel/EelDescriptor.kt | 4 ++-- platform/eel/src/com/intellij/platform/eel/EelExecApi.kt | 2 +- .../intellij/platform/eel/path/ArrayListEelAbsolutePath.kt | 4 ++-- platform/eel/src/com/intellij/platform/eel/path/EelPath.kt | 2 +- .../com/intellij/platform/eel/path/EelAbsolutePathTest.kt | 2 +- .../platform/ijent/community/impl/nio/IjentNioFileSystem.kt | 2 +- .../ijent/community/impl/nio/IjentNioFileSystemProvider.kt | 2 +- .../src/com/intellij/openapi/projectRoots/JdkUtil.java | 2 +- platform/macro/src/com/intellij/ide/macro/TempDirMacro.java | 2 +- .../src/com/intellij/platform/ide/impl/wsl/WslEelProvider.kt | 2 +- .../testSrc/com/intellij/execution/wsl/WSLDistributionTest.kt | 2 +- .../testFramework/junit5/eel/src/impl/EelTestDescriptor.kt | 2 +- .../idea/maven/execution/run/MavenShCommandLineState.kt | 2 +- .../org/jetbrains/idea/maven/server/MavenWrapperSupport.kt | 2 +- .../sh/core/src/com/intellij/sh/ShDocumentationProvider.kt | 2 +- .../com/intellij/sh/run/ShRunConfigurationProfileState.java | 2 +- .../plugins/terminal/TerminalProjectOptionsProvider.kt | 2 +- .../plugins/terminal/runner/LocalOptionsConfigurer.java | 2 +- .../com/intellij/python/junit5Tests/framework/testTools.kt | 4 ++-- python/python-sdk/src/com/jetbrains/python/PythonBinaryExt.kt | 4 ++-- 24 files changed, 28 insertions(+), 28 deletions(-) diff --git a/platform/eel-provider/src/com/intellij/platform/eel/provider/EelNioBridgeService.kt b/platform/eel-provider/src/com/intellij/platform/eel/provider/EelNioBridgeService.kt index 8d0b0ef79380..23d4263c1a4c 100644 --- a/platform/eel-provider/src/com/intellij/platform/eel/provider/EelNioBridgeService.kt +++ b/platform/eel-provider/src/com/intellij/platform/eel/provider/EelNioBridgeService.kt @@ -173,7 +173,7 @@ fun Path.asEelPath(): EelPath { val descriptor = service.tryGetEelDescriptor(this) ?: return EelPath.parse(toString(), LocalEelDescriptor) val root = service.tryGetNioRoots(descriptor)?.firstOrNull { this.startsWith(it) } ?: error("unreachable") // since the descriptor is not null, the root should be as well val relative = root.relativize(this) - if (descriptor.platform.isPosix) { + if (descriptor.osFamily.isPosix) { return relative.fold(EelPath.parse("/", descriptor), { path, part -> path.resolve(part.toString()) }) } else { diff --git a/platform/eel-provider/src/com/intellij/platform/eel/provider/EelProvider.kt b/platform/eel-provider/src/com/intellij/platform/eel/provider/EelProvider.kt index 20a586c1da49..1a3596a4cc03 100644 --- a/platform/eel-provider/src/com/intellij/platform/eel/provider/EelProvider.kt +++ b/platform/eel-provider/src/com/intellij/platform/eel/provider/EelProvider.kt @@ -98,7 +98,7 @@ data object LocalEelDescriptor : EelDescriptor { private val LOG = logger() override val userReadableDescription: @NonNls String = "Local: ${System.getProperty("os.name")}" - override val platform: EelOsFamily by lazy { + override val osFamily: EelOsFamily by lazy { when { SystemInfo.isWindows -> EelOsFamily.Windows SystemInfo.isMac || SystemInfo.isLinux || SystemInfo.isFreeBSD -> EelOsFamily.Posix diff --git a/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelPathUtils.kt b/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelPathUtils.kt index 7a8d54dfb9d1..904e83bcc1b8 100644 --- a/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelPathUtils.kt +++ b/platform/eel-provider/src/com/intellij/platform/eel/provider/utils/eelPathUtils.kt @@ -131,7 +131,7 @@ object EelPathUtils { } val root = eelPath.root.toString().replace('\\', '/') // see sun.nio.fs.WindowsUriSupport#toUri(java.lang.String, boolean, boolean) - val trailing = if (eelPath.descriptor.platform.isWindows) "/" else "" + val trailing = if (eelPath.descriptor.osFamily.isWindows) "/" else "" return URI("file", null, trailing + root + eelPath.parts.joinToString("/"), null, null) } diff --git a/platform/eel/api-dump-experimental.txt b/platform/eel/api-dump-experimental.txt index 693cabc783bf..c7302b24d7f6 100644 --- a/platform/eel/api-dump-experimental.txt +++ b/platform/eel/api-dump-experimental.txt @@ -7,7 +7,7 @@ *:com.intellij.platform.eel.EelApi$Pid - a:getValue():J *:com.intellij.platform.eel.EelDescriptor -- *a:getPlatform():com.intellij.platform.eel.EelOsFamily +- *a:getOsFamily():com.intellij.platform.eel.EelOsFamily - *a:getUserReadableDescription():java.lang.String - *a:toEelApi(kotlin.coroutines.Continuation):java.lang.Object *:com.intellij.platform.eel.EelError diff --git a/platform/eel/src/com/intellij/platform/eel/EelDescriptor.kt b/platform/eel/src/com/intellij/platform/eel/EelDescriptor.kt index 59ded2510097..6e19a6eada7e 100644 --- a/platform/eel/src/com/intellij/platform/eel/EelDescriptor.kt +++ b/platform/eel/src/com/intellij/platform/eel/EelDescriptor.kt @@ -54,7 +54,7 @@ interface EelDescriptor { @Deprecated("Use platform instead", ReplaceWith("platform")) @get:ApiStatus.Internal val operatingSystem: OS - get() = when (platform) { + get() = when (osFamily) { EelOsFamily.Windows -> OS.WINDOWS EelOsFamily.Posix -> OS.UNIX } @@ -70,7 +70,7 @@ interface EelDescriptor { * The platform of an environment corresponding to this [EelDescriptor]. */ @get:ApiStatus.Experimental - val platform: EelOsFamily + val osFamily: EelOsFamily @ApiStatus.Experimental suspend fun toEelApi(): EelApi diff --git a/platform/eel/src/com/intellij/platform/eel/EelExecApi.kt b/platform/eel/src/com/intellij/platform/eel/EelExecApi.kt index 81f703330c22..eb8568cc28f0 100644 --- a/platform/eel/src/com/intellij/platform/eel/EelExecApi.kt +++ b/platform/eel/src/com/intellij/platform/eel/EelExecApi.kt @@ -271,7 +271,7 @@ fun EelExecWindowsApi.spawnProcess(exe: String, vararg args: String): EelExecWin */ @ApiStatus.Internal suspend fun EelExecApi.getShell(): Pair { - val (shell, cmdArg) = when (this.descriptor.platform) { + val (shell, cmdArg) = when (this.descriptor.osFamily) { EelOsFamily.Windows -> { val envs = fetchLoginShellEnvVariables() Pair(envs["ComSpec"] ?: run { diff --git a/platform/eel/src/com/intellij/platform/eel/path/ArrayListEelAbsolutePath.kt b/platform/eel/src/com/intellij/platform/eel/path/ArrayListEelAbsolutePath.kt index 9591e84c89fd..b8117485ffe9 100644 --- a/platform/eel/src/com/intellij/platform/eel/path/ArrayListEelAbsolutePath.kt +++ b/platform/eel/src/com/intellij/platform/eel/path/ArrayListEelAbsolutePath.kt @@ -136,7 +136,7 @@ internal class ArrayListEelAbsolutePath private constructor( fun build(parts: List, descriptor: EelDescriptor): EelPath { require(parts.isNotEmpty()) { "Can't build an absolute path from no path parts" } - val windowsRoot = when (descriptor.platform) { + val windowsRoot = when (descriptor.osFamily) { EelOsFamily.Windows -> findAbsoluteUncPath(parts.first(), descriptor) ?: findAbsoluteTraditionalDosPath(parts.first(), descriptor) EelOsFamily.Posix -> null } @@ -170,7 +170,7 @@ internal class ArrayListEelAbsolutePath private constructor( @Throws(EelPathException::class) fun parseOrNull(raw: String, descriptor: EelDescriptor): ArrayListEelAbsolutePath? = - when (descriptor.platform) { + when (descriptor.osFamily) { EelOsFamily.Windows -> findAbsoluteUncPath(raw, descriptor) ?: findAbsoluteTraditionalDosPath(raw, descriptor) EelOsFamily.Posix -> findAbsoluteUnixPath(raw, descriptor) } diff --git a/platform/eel/src/com/intellij/platform/eel/path/EelPath.kt b/platform/eel/src/com/intellij/platform/eel/path/EelPath.kt index 05d0a94e260e..95e39257f189 100644 --- a/platform/eel/src/com/intellij/platform/eel/path/EelPath.kt +++ b/platform/eel/src/com/intellij/platform/eel/path/EelPath.kt @@ -6,7 +6,7 @@ import com.intellij.platform.eel.EelOsFamily import org.jetbrains.annotations.ApiStatus @get:ApiStatus.Internal -val EelPath.platform: EelOsFamily get() = descriptor.platform +val EelPath.platform: EelOsFamily get() = descriptor.osFamily /** * An interface for **absolute** paths on some environment. diff --git a/platform/eel/tests/com/intellij/platform/eel/path/EelAbsolutePathTest.kt b/platform/eel/tests/com/intellij/platform/eel/path/EelAbsolutePathTest.kt index f8fbd71c0c2f..c2b3bfeca3e0 100644 --- a/platform/eel/tests/com/intellij/platform/eel/path/EelAbsolutePathTest.kt +++ b/platform/eel/tests/com/intellij/platform/eel/path/EelAbsolutePathTest.kt @@ -69,7 +69,7 @@ class EelAbsolutePathTest { path.endsWith(listOf("C:", "foo", "bar", "bax")) shouldBe false } - class DummyEelDescriptor(override val platform: EelOsFamily) : EelDescriptor { + class DummyEelDescriptor(override val osFamily: EelOsFamily) : EelDescriptor { override val userReadableDescription: String = "mock" override suspend fun toEelApi(): EelApi { diff --git a/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystem.kt b/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystem.kt index 633c92b3089b..24418dd2ff2b 100644 --- a/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystem.kt +++ b/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystem.kt @@ -71,7 +71,7 @@ class IjentNioFileSystem internal constructor( more.fold(EelPath.parse(first, ijentFs.descriptor)) { path, newPart -> path.resolve(newPart) }.toNioPath() } catch (_: EelPathException) { - RelativeIjentNioPath(first.split(*ijentFs.descriptor.platform.directorySeparators) + more, this) + RelativeIjentNioPath(first.split(*ijentFs.descriptor.osFamily.directorySeparators) + more, this) } } diff --git a/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystemProvider.kt b/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystemProvider.kt index c2c1c6410c1e..21b1dac7e7c7 100644 --- a/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystemProvider.kt +++ b/platform/ijent/impl/src/com/intellij/platform/ijent/community/impl/nio/IjentNioFileSystemProvider.kt @@ -581,7 +581,7 @@ class IjentNioFileSystemProvider : FileSystemProvider() { override fun readSymbolicLink(link: Path): Path { val fs = ensureAbsoluteIjentNioPath(link).nioFs val absolutePath = link.eelPath - val os = fs.ijentFs.descriptor.platform + val os = fs.ijentFs.descriptor.osFamily return fsBlocking { when (val ijentFs = fs.ijentFs) { is IjentFileSystemPosixApi -> when (val type = ijentFs.stat(absolutePath).justResolve().getOrThrowFileSystemException().type) { diff --git a/platform/lang-core/src/com/intellij/openapi/projectRoots/JdkUtil.java b/platform/lang-core/src/com/intellij/openapi/projectRoots/JdkUtil.java index 40f07bd9be8a..21df81a66351 100644 --- a/platform/lang-core/src/com/intellij/openapi/projectRoots/JdkUtil.java +++ b/platform/lang-core/src/com/intellij/openapi/projectRoots/JdkUtil.java @@ -205,7 +205,7 @@ public final class JdkUtil { } private static boolean isCompatibleWithOs(@NotNull EelDescriptor descriptor) { - EelOsFamily os = descriptor.getPlatform(); + EelOsFamily os = descriptor.getOsFamily(); return switch (os) { case Windows -> SystemInfo.isWindows; case Posix -> SystemInfo.isUnix; diff --git a/platform/macro/src/com/intellij/ide/macro/TempDirMacro.java b/platform/macro/src/com/intellij/ide/macro/TempDirMacro.java index 25846fe891cd..acce6afcd3e0 100644 --- a/platform/macro/src/com/intellij/ide/macro/TempDirMacro.java +++ b/platform/macro/src/com/intellij/ide/macro/TempDirMacro.java @@ -40,7 +40,7 @@ if (contextPath != null) { var eelPath = JEelUtils.toEelPath(contextPath); if (eelPath != null) { - return eelPath.getDescriptor().getPlatform() == EelOsFamily.Windows; + return eelPath.getDescriptor().getOsFamily() == EelOsFamily.Windows; } } return SystemInfo.isWindows; diff --git a/platform/platform-impl/eel/src/com/intellij/platform/ide/impl/wsl/WslEelProvider.kt b/platform/platform-impl/eel/src/com/intellij/platform/ide/impl/wsl/WslEelProvider.kt index 069666212caa..4b3dcff3a7b6 100644 --- a/platform/platform-impl/eel/src/com/intellij/platform/ide/impl/wsl/WslEelProvider.kt +++ b/platform/platform-impl/eel/src/com/intellij/platform/ide/impl/wsl/WslEelProvider.kt @@ -153,7 +153,7 @@ class WslEelProvider(private val coroutineScope: CoroutineScope) : EelProvider { } data class WslEelDescriptor(val distribution: WSLDistribution) : EelDescriptor { - override val platform: EelOsFamily = EelOsFamily.Posix + override val osFamily: EelOsFamily = EelOsFamily.Posix override val userReadableDescription: @NonNls String = "WSL: ${distribution.presentableName}" diff --git a/platform/platform-tests/testSrc/com/intellij/execution/wsl/WSLDistributionTest.kt b/platform/platform-tests/testSrc/com/intellij/execution/wsl/WSLDistributionTest.kt index bad9573ae0ba..8a0f9a2a16c5 100644 --- a/platform/platform-tests/testSrc/com/intellij/execution/wsl/WSLDistributionTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/execution/wsl/WSLDistributionTest.kt @@ -523,7 +523,7 @@ private class MockIjentApi(private val adapter: GeneralCommandLine, val rootUser override val descriptor: EelDescriptor get() = object : EelDescriptor { override val userReadableDescription: @NonNls String = "mock" - override val platform: EelOsFamily = this@MockIjentApi.platform.osFamily + override val osFamily: EelOsFamily = this@MockIjentApi.platform.osFamily override suspend fun toEelApi(): EelApi { throw UnsupportedOperationException() diff --git a/platform/testFramework/junit5/eel/src/impl/EelTestDescriptor.kt b/platform/testFramework/junit5/eel/src/impl/EelTestDescriptor.kt index c5d41db0521e..f33a570c8ece 100644 --- a/platform/testFramework/junit5/eel/src/impl/EelTestDescriptor.kt +++ b/platform/testFramework/junit5/eel/src/impl/EelTestDescriptor.kt @@ -6,7 +6,7 @@ import com.intellij.platform.eel.EelDescriptor import com.intellij.platform.eel.EelOsFamily import org.jetbrains.annotations.NonNls -internal class EelTestDescriptor(val id: String, override val platform: EelOsFamily, val apiProvider: () -> EelApi) : EelDescriptor { +internal class EelTestDescriptor(val id: String, override val osFamily: EelOsFamily, val apiProvider: () -> EelApi) : EelDescriptor { override val userReadableDescription: @NonNls String = "mock $id" diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/run/MavenShCommandLineState.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/run/MavenShCommandLineState.kt index c4b77a458647..0d397caaa686 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/run/MavenShCommandLineState.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/run/MavenShCommandLineState.kt @@ -407,7 +407,7 @@ class MavenShCommandLineState(val environment: ExecutionEnvironment, private val } private fun isWindows() = - when (myConfiguration.project.getEelDescriptor().platform) { + when (myConfiguration.project.getEelDescriptor().osFamily) { EelOsFamily.Posix -> false EelOsFamily.Windows -> true } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenWrapperSupport.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenWrapperSupport.kt index 1de5bc847913..fd30c8b9864c 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenWrapperSupport.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenWrapperSupport.kt @@ -112,7 +112,7 @@ internal class MavenWrapperSupport { throw IllegalStateException(SyncBundle.message("zip.is.not.correct", zipFile.toAbsolutePath())) } val mavenHome = dirs[0] - if (mavenHome.getEelDescriptor().platform.isPosix) { + if (mavenHome.getEelDescriptor().osFamily.isPosix) { makeMavenBinRunnable(mavenHome) } return mavenHome diff --git a/plugins/sh/core/src/com/intellij/sh/ShDocumentationProvider.kt b/plugins/sh/core/src/com/intellij/sh/ShDocumentationProvider.kt index dacf391ec382..a12bdb1ab515 100644 --- a/plugins/sh/core/src/com/intellij/sh/ShDocumentationProvider.kt +++ b/plugins/sh/core/src/com/intellij/sh/ShDocumentationProvider.kt @@ -100,7 +100,7 @@ internal class ShDocumentationProvider(private val scope: CoroutineScope) : Docu val path = eel.exec.fetchLoginShellEnvVariables()["PATH"] if (path != null) { - for (dir in StringUtil.tokenize(path, eelDescriptor.platform.pathSeparator)) { + for (dir in StringUtil.tokenize(path, eelDescriptor.osFamily.pathSeparator)) { val eelDir = runCatching { parse(dir, eelDescriptor) }.getOrNull() ?: continue val file = eelDir.resolve("info").asNioPath() diff --git a/plugins/sh/core/src/com/intellij/sh/run/ShRunConfigurationProfileState.java b/plugins/sh/core/src/com/intellij/sh/run/ShRunConfigurationProfileState.java index dd0e337af8e6..ba3318d118af 100644 --- a/plugins/sh/core/src/com/intellij/sh/run/ShRunConfigurationProfileState.java +++ b/plugins/sh/core/src/com/intellij/sh/run/ShRunConfigurationProfileState.java @@ -216,7 +216,7 @@ final class ShRunConfigurationProfileState implements RunProfileState { @NotNull EelDescriptor eelDescriptor) { systemDependentPath = convertPathUsingEel(systemDependentPath, eelDescriptor); - return switch (eelDescriptor.getPlatform()) { + return switch (eelDescriptor.getOsFamily()) { case Windows -> ShStringUtil.quote(systemDependentPath); case Posix -> { diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalProjectOptionsProvider.kt b/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalProjectOptionsProvider.kt index 5dec5ad2ed7f..ed1ca3ba0aed 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalProjectOptionsProvider.kt +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalProjectOptionsProvider.kt @@ -157,7 +157,7 @@ class TerminalProjectOptionsProvider(val project: Project) : PersistentStateComp } private suspend fun findDefaultShellPath(eelDescriptor: EelDescriptor): String { - if (eelDescriptor.platform.isWindows) { + if (eelDescriptor.osFamily.isWindows) { return "powershell.exe" } val eelApi = eelDescriptor.toEelApi() diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/runner/LocalOptionsConfigurer.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/runner/LocalOptionsConfigurer.java index a99edab802e1..dbf2a806fe75 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/runner/LocalOptionsConfigurer.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/runner/LocalOptionsConfigurer.java @@ -119,7 +119,7 @@ public final class LocalOptionsConfigurer { final var isWindows = eelDescriptor == null ? SystemInfo.isWindows - : switch (eelDescriptor.getPlatform()) { + : switch (eelDescriptor.getOsFamily()) { case Posix -> false; case Windows -> true; }; diff --git a/python/junit5Tests-framework/src/com/intellij/python/junit5Tests/framework/testTools.kt b/python/junit5Tests-framework/src/com/intellij/python/junit5Tests/framework/testTools.kt index 3d8cd0167d1d..224ec1084401 100644 --- a/python/junit5Tests-framework/src/com/intellij/python/junit5Tests/framework/testTools.kt +++ b/python/junit5Tests-framework/src/com/intellij/python/junit5Tests/framework/testTools.kt @@ -33,7 +33,7 @@ suspend fun waitNoError(delay: Duration = 100.milliseconds, repeat: Int = 50, ch } @RequiresBackgroundThread -fun PythonHomePath.resolvePythonTool(name: String): Path = when (getEelDescriptor().platform) { +fun PythonHomePath.resolvePythonTool(name: String): Path = when (getEelDescriptor().osFamily) { EelOsFamily.Windows -> resolve("Scripts/$name.exe") EelOsFamily.Posix-> resolve("bin/$name") } @@ -53,7 +53,7 @@ private class PathMatcher(private val parent: Path) : TypeSafeMatcher(Path private fun Path.expandWinPath(): Path = try { - when (getEelDescriptor().platform) { + when (getEelDescriptor().osFamily) { // On Windows we change 8.3 problem (c:\users\William.~1 -> c:\users\William.Gates) // But you are encountered to disable 8.3 with `fsutil 8dot3name set 1` EelOsFamily.Windows -> toRealPath() diff --git a/python/python-sdk/src/com/jetbrains/python/PythonBinaryExt.kt b/python/python-sdk/src/com/jetbrains/python/PythonBinaryExt.kt index 527802757a81..02e27b348388 100644 --- a/python/python-sdk/src/com/jetbrains/python/PythonBinaryExt.kt +++ b/python/python-sdk/src/com/jetbrains/python/PythonBinaryExt.kt @@ -11,7 +11,7 @@ import kotlin.io.path.name @RequiresBackgroundThread @ApiStatus.Internal -fun PythonBinary.resolvePythonHome(): PythonHomePath = when (getEelDescriptor().platform) { +fun PythonBinary.resolvePythonHome(): PythonHomePath = when (getEelDescriptor().osFamily) { EelOsFamily.Windows -> parent.takeIf { it.name.lowercase() != "scripts" } ?: parent.parent EelOsFamily.Posix -> parent.takeIf { it.name != "bin" } ?: parent.parent } @@ -19,5 +19,5 @@ fun PythonBinary.resolvePythonHome(): PythonHomePath = when (getEelDescriptor(). @RequiresBackgroundThread @ApiStatus.Internal fun PythonHomePath.resolvePythonBinary(): PythonBinary? { - return VirtualEnvReader(isWindows = getEelDescriptor().platform.isWindows).findPythonInPythonRoot(this) + return VirtualEnvReader(isWindows = getEelDescriptor().osFamily.isWindows).findPythonInPythonRoot(this) }