Files
openide/python/python-exec-service/execService.python/intellij.python.community.execService.python.iml
T
Alexey Katsman f5ebe0c614 PY-89784 Move v2 add-interpreter abstractions to python-sdk
The v2 "Add Python Interpreter" abstractions (FileSystem, PathHolder, the
PythonSelectableInterpreter hierarchy, SdkWrapper, TargetPanelExtension)
lived in python-community-impl, but callers below that module (hatch,
pipenv, poetry modules) cannot reach them. Since
python-community-impl already depends on python-sdk, moving them down
clears the way.

What moves to python-sdk:

* PathHolder (sealed interface plus nested Eel/Target).
* FileSystem<P : PathHolder>: the interface only, no longer sealed. The
  two implementations stay in python-community-impl and become top-level
  EelFileSystem and TargetFileSystem instead of FileSystem.Eel/Target
  nested classes.
* SdkWrapper, TargetPanelExtension.
* PythonSelectableInterpreter sealed hierarchy (Existing, Detected,
  ManuallyAdded, Installable) plus MaybeSystemPython.

To keep the sealed hierarchy in python-sdk without dragging PySdkToInstall
(and its installer module) along, InstallableSelectableInterpreter.sdk is
typed as a new InstallablePythonSdk marker interface. PySdkToInstall
implements that marker; readers still operate on the parent Sdk so call
sites are unchanged.

Also pruned stale runtime descriptor deps on intellij.python.sdk from
services.shared and execService.python. Neither module uses python-sdk in
source anymore; the leftover XML entries formed a content-module cycle
that was blocking python-sdk from declaring services.shared as a runtime
dep.

GitOrigin-RevId: f1be13c158171f3f766fecc83a4be4917ec6ee51
2026-05-18 15:28:54 +00:00

26 lines
1.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="com.intellij.python.community.execService.python" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="kotlin-stdlib" level="project" />
<orderEntry type="module" module-name="intellij.python.community.execService" />
<orderEntry type="module" module-name="intellij.python.community" />
<orderEntry type="library" name="jetbrains-annotations" level="project" />
<orderEntry type="module" module-name="intellij.libraries.kotlinx.coroutines.core" />
<orderEntry type="module" module-name="intellij.platform.eel" />
<orderEntry type="module" module-name="intellij.platform.eel.provider" />
<orderEntry type="module" module-name="intellij.python.community.helpersLocator" />
<orderEntry type="library" scope="TEST" name="JUnit5" level="project" />
<orderEntry type="module" module-name="intellij.platform.testFramework.junit5" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.testFramework.junit5.eel" scope="TEST" />
<orderEntry type="library" scope="TEST" name="JUnit5Params" level="project" />
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="module" module-name="intellij.platform.core" />
</component>
</module>