[pycharm] PY-87123 Synchronize build files
[pycharm] PY-87123 Add icons for process weight
[pycharm] PY-87123 Extract Pipenv icons/mapper into a pipenv module
[pycharm] PY-87123 Extract Conda icons/mapper into a separate module
[pycharm] PY-87459 Fix process tree autoscroll
Fixes an issue in which the process tree would not automatically scroll up
after new processes are added.
[pycharm] PY-87112 Change the icon of the tool window to a new one
[pycharm] PY-87123 Rename `Styling` object to `OutputSectionStyling`
This is done to match the naming of `TreeSectionStyling`.
[pycharm] PY-87123 Render spinner instead of an icon for running processes
[pycharm] PY-87123 Refactor TreeSection
* Extract tree content into its own composable
* Extract styling values into a styling object
* Remove redundant icons that can be constructed programmatically
[pycharm] PY-87123 Address feedback
[pycharm] PY-87123 Implement custom styling for critical errors
Critical errors are ones that are displayed to the user via the error sink.
[pycharm] PY-87123 Add tool-dependant icons to POTW process tree
[pycharm] PY-87123 Implement ProcessOutputIconMapping extension point
The extension point provides a way for tooling-related modules to define
custom mapping between file extensions and icons that should be used by
the Process Output Tool Window.
Merge-request: IJ-MR-189367
Merged-by: David Lysenko <david.lysenko@jetbrains.com>
GitOrigin-RevId: 0d728779f04f2066e929954681ec7a23741f5f74
Non-project files by default are not indexed, do not have a module and do not have an SDK.
`PyExternalFilesIndexService` is resposible for adding a custom entities to the workspace model.
Space-RevId: dd7c50009e56dea0d69914c9f7f1524c7e77fe20
GitOrigin-RevId: cdfa2a578a01431fb9e0a06ce820c1d9b0f3fc0d
IdeaUltimatePluginModuleDependenciesTest failed with the following message: `Plugin 'Python Community Edition' conflicts with 'IDEA CORE' and may work incorrectly. Their respective modules 'intellij.platform.ide.nonModalWelcomeScreen' and 'intellij.platform.ide.nonModalWelcomeScreen' declare the same package prefix`
GitOrigin-RevId: af33d6b2f341b90103a7db1e0ff5b5a3131427d9
[python]: PY-85709: Support Python facet for non-PyCharm IDEs.
The following code doesn't work for anything but PyCharm.
```kotlin
ModuleRootManager.getInstance(module).sdk
```
We now call `com.jetbrains.python.module.PyModuleService.findPythonSdk` which supports both Python SDK and Facet.
[python]: PY-85711 : Do not touch non-python modules in `removeFakeModuleEntity` and do not set `inherited` for newly created modules.
1. We should never delete any module which isn't python.
2. No need to look for sdk in workspace as we already do that for all modules by reverting their SDK settings. Moreover, `InheritedSdkDependency` was wrong: it set project-level Java JDK as Python SDK
[python]: PY-85711 : Make `PyActiveSdkModuleConfigurable` filter non-python modules.
See `com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable.isSuitableForModule` comment
[python]: PY-85711 : Move `isPythonModule` to `PyModuleService`.
We are going to reuse it all over the code
[python]: PY-85711 : Refactor `PyModuleService`.
Drop unneeded class
Merge-request: IJ-MR-183088
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>
GitOrigin-RevId: 19f65ba65ea7ea8d8ff8698a64e6a3cbe6803cb0
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: b5662fbdf3d23f1ddaa5926469d1cfd2051a0fba
We are slowly moving all tools to the separate modules to register them as EP. On the front we might have `ToolId` only. To map it to an icon we will use EP.
GitOrigin-RevId: 642f4b8d77a0a14b6b61a5192607fbc7984529c7
Before the changes, there wasn't any mechanism to detect that
environment was already created (for example, .venv exists in the
project). In these situations, during SDK creation we could've created
another environment which was not expected by users.
With these changes, it's now possible to detect in the configurator that
environment already exists, and use it when creating SDK.
Merge-request: IJ-MR-177317
Merged-by: Alexey Katsman <alexey.katsman@jetbrains.com>
GitOrigin-RevId: a612a1069ca5275bedbcfa6af9377059dab7c072
+ 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
These modules and their classes don't have external usages, so they shouldn't be made 'public' at least for now. The 'namespace' is also set to 'jetbrains' for plugins which contain such modules or modules which use them to allow 'internal' visibility to work.
GitOrigin-RevId: 198007e49320075dc27faadde6963e98332296a4
Application‑level libraries ("Global Libraries" in UI) must be isolated by the environment, so each EEL environment sees only its own library set. This prevents cross‑environment leakage and aligns library scoping with SDK scoping.
Notes
- Environment choice is derived from the passed `Project` (carrier of the already‑resolved `EelMachine`), so selection is synchronous and safe for this API surface.
- API names stay as they are; documentation clarifies that the `Project` parameter selects the environment for the application‑level table and does not turn it into a project‑level table.
- In the Project Structure UI, the existing environment‑scoped modifiable model remains owned by the UI; outside the UI, callers get a standalone modifiable model for the chosen environment.
GitOrigin-RevId: e88445929d19012d029e79d44f09f694aba8df6f
This change updates ML API library to the latest stable version.
In this version, we introduced improved module splitting:
* mlapi-core – contains almsot no dependencies (except for kotlinx-serialization) and includes core ML factors
* mlapi-catboost – contains CatBoost-related abstractions and libraries
Merge-request: IJ-MR-177078
Merged-by: Vladimir Fedorov <890readrid@gmail.com>
GitOrigin-RevId: 14c89d3e4ba51474db9bf22d0c9364a502eddc35
It should be named `intellij.python.frontend`, but this name is occupied by another module, that should be named `intellij.python.frontend.split`
GitOrigin-RevId: 9c691512950b1f02cebd4a2d201560650460b16c
This module listens for topic that model was just rebuilt from `pyproject.toml` and does its best to configure SDK.
It will support UI to make this process configurable
GitOrigin-RevId: c752c94385814b5fc4413316c0d9d4cc2adb41e4
Such modules can be referenced not by a 'dependencies.module' tag, but via a 'depends' or 'dependencies.plugin' tag with the plugin alias, so they should be public. 'jetbrains' namespace is used for them.
GitOrigin-RevId: f3d0601685fe1d312a2508be08e97f8d985e7133