Files
openide/python/python-sdk/intellij.python.sdk.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

58 lines
4.0 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$/gen" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="kotlin-stdlib" level="project" />
<orderEntry type="module" module-name="intellij.libraries.gson" />
<orderEntry type="module" module-name="intellij.libraries.guava" />
<orderEntry type="module" module-name="intellij.libraries.stream" />
<orderEntry type="module" module-name="intellij.platform.analysis" />
<orderEntry type="module" module-name="intellij.platform.core.impl" />
<orderEntry type="module" module-name="intellij.platform.analysis.impl" />
<orderEntry type="module" module-name="intellij.platform.core" />
<orderEntry type="module" module-name="intellij.platform.jps.model" />
<orderEntry type="module" module-name="intellij.platform.jps.model.serialization" />
<orderEntry type="module" module-name="intellij.platform.projectModel" />
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="module" module-name="intellij.platform.ide.util.io" />
<orderEntry type="module" module-name="intellij.python.community" />
<orderEntry type="module" module-name="intellij.python.psi" />
<orderEntry type="module" module-name="intellij.platform.projectModel.impl" />
<orderEntry type="module" module-name="intellij.platform.util.jdom" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
<orderEntry type="module" module-name="intellij.platform.ide.core" />
<orderEntry type="module" module-name="intellij.platform.execution" />
<orderEntry type="module" module-name="intellij.platform.remote.core" />
<orderEntry type="library" name="jna" level="project" />
<orderEntry type="library" scope="TEST" name="JUnit4" level="project" />
<orderEntry type="module" module-name="intellij.libraries.caffeine" />
<orderEntry type="module" module-name="intellij.libraries.jackson" />
<orderEntry type="module" module-name="intellij.libraries.jackson.databind" />
<orderEntry type="module" module-name="intellij.libraries.jackson.module.kotlin" />
<orderEntry type="module" module-name="intellij.platform.ide.progress" />
<orderEntry type="library" scope="TEST" name="JUnit5" level="project" />
<orderEntry type="module" module-name="intellij.platform.eel.provider" />
<orderEntry type="module" module-name="intellij.platform.backend" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.python.community.helpersLocator" />
<orderEntry type="module" module-name="intellij.python.common" />
<orderEntry type="module" module-name="intellij.platform.workspace.jps" />
<orderEntry type="module" module-name="intellij.platform.workspace.storage" />
<orderEntry type="module" module-name="intellij.platform.lang" />
<orderEntry type="module" module-name="intellij.platform.util.ui" />
<orderEntry type="module" module-name="intellij.platform.core.ui" />
<orderEntry type="module" module-name="intellij.python.requirements" />
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
<orderEntry type="module" module-name="intellij.platform.ide.core.impl" />
<orderEntry type="module" module-name="intellij.platform.eel" />
<orderEntry type="module" module-name="intellij.python.community.execService" />
<orderEntry type="module" module-name="intellij.python.community.services.shared" />
<orderEntry type="module" module-name="intellij.python.community.execService.python" />
</component>
</module>