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
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: dd0cf0c02b18e90022e9ec828b7f9ad2282cd5b3
We create SDK in tests in a temporary dir and want to drop it then.
However, some background python process (I blame package manager cache) keeps this directory which prevents it from being deleted on Windows.
We now drop it.
GitOrigin-RevId: 36e2045e57e6cfae2f31465ae6d6d8e505d5edac
This service is aimed to substitute various SDK-management tools in PyCharm.
Begin with `InterpreterService()` function.
GitOrigin-RevId: 368d56c4a78812fe81de941e5e5ce61a56d385e6
Extract various classes to the shared modules, `ExecutablePython` now has `env` map as it can be used by conda.
GitOrigin-RevId: eb45ea29f49132fa4f91c979f71453e6a2ade344
* use the same UI in IDEA for local SDKS as currently PyCharm has, removing redundant code
Merge-request: IJ-MR-164681
Merged-by: Vitaly Legchilkin <Vitaly.Legchilkin@jetbrains.com>
GitOrigin-RevId: fe26897837f41dd2f3b23a328d2a9098ad388e37
* introduce PyResult.localizedError() (instead of failure()
* get rid of obsolete kotlin.Result.failure(..) extension
* add errorOrNull to python.Result, to access it from Java classes
Merge-request: IJ-MR-163973
Merged-by: Vitaly Legchilkin <Vitaly.Legchilkin@jetbrains.com>
GitOrigin-RevId: 2bd8336cf4c53170eea5d050f609fd64541ebd99
People usually struggle to run a Gradle script to install pythons, so we:
1. Tell them explicitly what to do.
2. Provide `PYTHON_FOR_TESTS` env var they can point to Python.
GitOrigin-RevId: 06337f1f7d831f1d4b1e94134bdc78c2db2a08dc
Hamcrest doesn't support `nio.Path` out of the box.
See `com.intellij.python.junit5Tests.framework.TestToolsKt.startsWith`
GitOrigin-RevId: 843cf711bb441e0f2daae6c94b3df6f8ca3e7b8b
There is a tool named `EnvironmentVariables` which mocks `System.env`.
We use it to mock `System.env` and `EnvironmentUtil`.
See `EnvironmentVariablesPathMockTest` as an example.
GitOrigin-RevId: ef48bf27d0ee2a1f0e02d62ab8370c01c0ecee52
We used to use `Invoke-Expression` but then migrated to `&`.
However, a conda activation script is a command (code block), not a file, so we need to use `Invoke-Expression` as '&' doesn't support it.
We check if a file exists, and if it does -- we use '&' which is safe and fast. We use `Invoke-Expression` otherwise.
Merge-request: IJ-MR-158505
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>
GitOrigin-RevId: ea0772b3f5f9641a85b542903c44c3b78aed0715