Deprecated APIs which still have internal usage are marked as internal to ensure that new external usages won't appear.
GitOrigin-RevId: 09818b884851d7b768f8ee0f356f982e79b46ed9
All "implicit" locks are removed from the platform, so we need to call read/write action explicitly (which is a right thing to do in any case).
GitOrigin-RevId: 290788bc78e39ca42f7d0f14ae4ccd16dd315ce7
Implement version tracking for Python specified in pyproject.toml files.
Validate base interpreters using a Python version from pyproject.toml.
Merge-request: IJ-MR-142231
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: ddd685240b6d58ef8d2e6c5668c89c96d8992d27
- refactored NPW to use target-specific model
- creating interpreter through widget reuses the same UI (can be turned off by python.unified.interpreter.configuration)
- interpreter discovery and virtualenv creation using Targets API
- no more PyDetectedSdk in dialog
(cherry picked from commit 581b2d40254d26f02eb3aa61bc2e842854b87a3e)
IJ-MR-140986
GitOrigin-RevId: be29188304882ef5f0fb88bb60c538714a2d8746
`getFlavor(@Nullable String sdkPath)` was used, and it detected the first flavor that is reports `isValidSdkHome`.
Somehow `UnixPythonSdkFlavor` stayed before `VirtualEnvSdkFlavor`.
We now sort them to make platform independent go first (as platform-dependent are always there).
We also use a separate method `tryDetectFlavorByLocalPath` not to use a deprecated one.
GitOrigin-RevId: ee7010e2b4a51d8447bd57264b2ce85af4ea1199
1. `PythonHelpersLocator` is an API to get helpers. It is aware of PyCharm Community helpers but also aware of some EP that provides additional helper paths.
2. EP implementations for PyCharm Prof and Jupyter that provide additional (prof) helpers.
It will help avoid problems with which Locator to use from Professional, Community or Jupiter plugins.
Merge-request: IJ-MR-140027
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: c7c34f323247002699866f12f6ff5a08cf6a18ff
Some remote interpreters have `sdk#homePath` starting with `ssh://`.
Code all over the monorepo assumes that `homePath` is a local file path and tries to convert it to `Path` throwing the exception effectively.
There is a `isCustomPythonSdkHomePath` which must be used to check string before trying to convert it into `Path`
The current situation (along with "solution") is a legacy from dark ages and will be rewritten to the workspace model soon
GitOrigin-RevId: 9adc02f312667571a65ff63d4e802aa7d6dbb518
PyDetectedSdk is expected to be serialized only by SdkModificatorBridgeImpl for internal storage
Every time PyDetectedSdk is selected as a project interpreter it should be transformed to a regular SDK
GitOrigin-RevId: 2e38e894014436b8a1a2740ea0fd5dc7aacbe10b
Icons removed from SDK package (no need to have a separate class for it), ultimate icons moved out of community module.
There are only 3 icon packages in community:
* `PythonParserIcons`
* `PythonPsiApiIcons`
* `PythonIcons` (aka `intellij.python.community.impl`)
Latter two have `.json` mapper to replace old icons with new one for New UI which is included into corresponding `.xml` file.
GitOrigin-RevId: 0438ad4485b5a82a89c81ec63ae6e575d5bb52de
Verifies if there are python distributives for MacOS / Windows on ARM / X86 / X86_64
(cherry picked from commit 717f1a4540d12502e46e3b0fd29b08d2d2043281)
IJ-MR-121650
GitOrigin-RevId: 71ff849618c362bec369372f4952824a454d607d
also bump sdks.json to latest
(cherry picked from commit 14cc088c20a8b77ee49007d8f7b982920e40c6e6)
IJ-MR-121650
GitOrigin-RevId: db7c0d11a61e239e2f47bd2f1a8dd1156f3712b1
it prevents failures when the python was installed and deleted previously, or it is in a corrupted state (previous installation was cancelled for example)
GitOrigin-RevId: ca373847db5ed694501da3db6e8a7e88aa15efd5