Each tool (uv, poetry) now has `common` and `backend` part. `common` has icons because we need them both on the front and on the back.
We might need to create `front` module also if we wouldn't be able to use icons in compose.
GitOrigin-RevId: 560b5aa67e4e747a1653ad6e4f780301a3fae289
Our tool detection approach varies a lot. We have different logic for
uv, poetry and other tools. Also, uv detection is not suspendable and
doesn't have any explicit thread requirements, even though it performs
I/O operations.
This change makes such detection unified and suspendable (where
possible) and moves it to BGT.
GitOrigin-RevId: 18e9c4cc085c8d373c82ad2874033b53711f09c6
+ add requirePythonSdk() verification for the Sdk extension functions, these methods are not designed to be called for non-python sdks and now will throw IllegalArgumentException.
also corrects dependency tree:
+ move PythonSdkUtil to the python.sdk module, remove dependency on psi.impl
+ create PySkeletonUtil for skeleton utils and leave it in the psi.impl
[python] (IJPL-205889) (BAZEL-2462) don't call getOrCreateAdditionalData for non-python sdks
+ add requirePythonSdk() verification for the Sdk extension functions, these methods are not designed to be called for non-python sdks and now will throw IllegalArgumentException
also corrects dependency tree:
+ move PythonSdkUtil to the python.sdk module, remove dependency on psi.impl
+ create PySkeletonUtil for skeleton utils and leave it in the psi.impl
GitOrigin-RevId: 20d958c5e15cc4e05545b2e61b126b5e015696ed
153 modules which contain classes used from external plugins from the Marketplace are marked as public. This is needed to ensure that it'll be possible to use that API after converting code from these external plugins to content modules.
GitOrigin-RevId: dc48e8970041fddd3bf50d280711e95ce9e9ad9b
Use `ExecService` `api.kt` to exec any binary and extensions from `execService.python/api.kt` for python-specific things (i.e helpers)
GitOrigin-RevId: bb217798a9d1ee886c4b12220ec1f66a5ef08336
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
also bump sdks.json to latest
(cherry picked from commit 14cc088c20a8b77ee49007d8f7b982920e40c6e6)
IJ-MR-121650
GitOrigin-RevId: db7c0d11a61e239e2f47bd2f1a8dd1156f3712b1
`readableFs` is redundant and unstable. Remove it: we will migrate to ijent anyway.
All validations are in `PathValidator.kt` now. They are used by `ManualPathEntryDialog` and sdk validation.
Lots of thread annotations added to prevent calling validation code from EDT.
In general, this change makes path validation ready for ijent: validation based on nio with slow IO access.
Validation is removed from old, non-target classes
(cherry picked from commit 185b4f7fe8cbd5d7a37dad609c8a4cb8163d6eed)
IJ-MR-112281
GitOrigin-RevId: 12c4a4f3d459d0523ef6694a9e4bb2db7a1582b7
Each sdk has additional data with flavor and flavor-specific data. For target-based SDK there is also target information. ``PySdkExt`` has extension method that uses this data to execute code on some SDK. For Conda we store path to conda binary and env name.
GitOrigin-RevId: c63b57aac9b5a267b3a6710902670bfe7d10c722
If "python.use.targets.api" registry flag is disabled:
- display target-based interpreters as invalid;
- show an error on an attempts to run or debug Python run configuration with an assigned target-based Python interpreter;
- show an error on trying to open Python console with a target-based Python interpreter;
- show a warning on an attempt to generate skeletons for target-based interpreters;
- show an empty list of packages for target-based Python interpreters.
GitOrigin-RevId: 97ee828ab289e5104f0539c9ab49e6fab99fe56b
- fix absence of package name if installation failed via file-level warning on requirements file
- get rid of unnecessary columns
- make the dialog resizable
- add forgotten dot to the troubleshooting tip#1
- add paddings to output and command text areas
- move hardcoded strings to bundles
IJ-CR-16145
GitOrigin-RevId: 6bafccd46dc6eb01db31d33d8979cca9c2b99c20
It speeds up virtual environment creation (PY-41172), although from now on the latest releases of packaging tools will be installed in the created virtual environment after the 28 days period that should guarantee we are not pulling in automatically releases that have known bugs within (https://virtualenv.pypa.io/en/latest/user_guide.html#wheels)
IJ-CR-9549
GitOrigin-RevId: 563409e9f7ef1d61572989555f572b06b19ded85
This patch replaces hard coded strings with i18n properties in idea-ui
Signed-off-by: Nikita Eshkeev <nikita.eshkeev@jetbrains.com>
GitOrigin-RevId: f481ab904b8648a9f0d68d4de91e1f31c01be49f