Commit Graph

139 Commits

Author SHA1 Message Date
Vladimir Krivosheev
b660081493 IJ-MR-162467 don't export intellij.platform.workspace.storage
GitOrigin-RevId: 65ff26dfef46b205eb68dc2f2e60eab4720c87c8
2025-05-15 09:18:18 +00:00
Vladimir Krivosheev
fbc9805e89 IJ-MR-162467 don't export intellij.platform.jps.model
GitOrigin-RevId: ebaebc90d514e5f3046fe2b973647da4bf156625
2025-05-14 18:10:23 +00:00
Shumaf Lovpache
89c91abbb6 [platform] update ktor to ktor, introduce kotlinx.io product module
- Fix git client build
- Update deps for artifacts
- Remove jetbrains.kotlinx.io.core.jvm library license
- Introduce kotlinx.io as a library
- Remove duplicated kotlinx.io from fleet
- Update fleet gradle sync
- Replace transitive dependency on kotlinx-io-core with a direct one (because of the javac & jps)

(cherry picked from commit bb8cfb4d985d235781da71b259c5f7f0f8a33c63)

Add io-core to essential-modules.xml, update packaging file

(cherry picked from commit 1db15ea706283edd3939bb37100abd30df002984)

Introduce a module for kotlinx-io-core dependency

(cherry picked from commit 5e18c822b3be57a1ca9478ffb364679c32b5f2a5)

Replace transitive dependency on kotlinx-io-core with a direct one

(cherry picked from commit 4309b698141bed71257ec99a9e7f5151d38d4650)

Add kotlinx-io-core library

(cherry picked from commit 0d14f1abf0ca85217f7c075e2fee77aa6808c5e7)

Add kotlinx.io as a library


Co-authored-by: Alexander Zolotov <alexander.zolotov@jetbrains.com>

Merge-request: IJ-MR-162517
Merged-by: Shumaf Lovpache <soarex16@gmail.com>

GitOrigin-RevId: e600e36f4169cc41c0d7ca1a989b0a9a656df3f0
2025-05-14 08:31:14 +00:00
Vladimir Krivosheev
0efc28f5c8 IJ-MR-162467 do not export intellij.platform.structureView.impl
GitOrigin-RevId: 0c20c9a059baa4e6e99df7e6c8ffd19be6386bc3
2025-05-11 10:42:09 +00:00
Vladimir Krivosheev
74a74205c9 IJ-MR-162467 do not export intellij.platform.foldings
GitOrigin-RevId: 868726f6678c7231527f621255a5d902320e58b6
2025-05-10 21:23:03 +00:00
Vladimir Krivosheev
53ab1b258e IJ-MR-162467 do not export intellij.platform.refactoring
GitOrigin-RevId: 4bb68401d046d1fffba4fa73935bb1c404d8d49f
2025-05-09 20:49:36 +00:00
Vladimir Krivosheev
644a6b2e81 IJ-MR-162467 don't export intellij.platform.editor.ui
GitOrigin-RevId: 8894abe16fb347de7649bfb2d7888b6e6fe0232c
2025-05-09 14:20:40 +00:00
Vladimir Krivosheev
7351c37957 do not export intellij.platform.usageView.impl
GitOrigin-RevId: 63f00963773ddb773eace8619ec48dadc4de7c24
2025-05-08 19:19:27 +00:00
Ilya Kazakevich
4fa65266ab PY-78035: Sort existing pythons for V2 "new interpreter" widget.
There is a list of `PythonSelectableInterpreter` which should be sorted and filtered.

`PythonSelectableInterpreter`s are comparable now: we can sort them by type (using `uiCustomization` hash) and then by language.

There is a `sortForExistingEnvironment` function that implements the core logic of this patch.

The test is `SortForExistingEnvironmentTest`, but we also run `DetectedSelectableInterpreterSortTest` several times to make sure the order is not broken.


Merge-request: IJ-MR-161055
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>

GitOrigin-RevId: 030e1b3fd171b2c41ca3473abde90607b95a9414
2025-04-24 14:43:04 +00:00
Timur Malanin
f7c2a83020 PY-79792 Refactored repository handling in Python packaging subsystem. Unified repository management by removing redundant methods (packagesFromRepository, allPackages) and standardized package retrieval via getPackages from PyPackageRepository. Updated related classes to align with the new CompositePythonRepositoryManager and PythonRepositoryManager interfaces. Added Test. PY-80168 Replace latest text with real latest version.
GitOrigin-RevId: 80a78a3798c04e73d98c58eed58b2ca01898ae00
2025-04-10 13:11:48 +00:00
Mikhail Golubev
9131e29041 PY-79488 Prototype multimodule Poetry project support
Whenever a pyproject.toml file is found in a new IJ project root
(without .idea) we register the corresponding root as managed by Poetry
in `.idea/poetry.xml` (so called "linking") and then read all
pyproject.toml in the project tree setting up the corresponding IJ
modules and dependencies between them (so called "syncing").
The changes are persisted in the workspace model cache, there are
no additional config files, besides `.idea/poetry.xml`.

If a new pyproject.xml module is added to the root of an existing
project, we ask user whether its project model should be applied.

When a pyproject.toml is then changed in the editor or externally,
we either automatically apply the changes (reloading) or ask
a user about it, depending on the settings in
"Settings | Build, Execution, Deployment | Build Tools".

If automatic linking and syncing doesn't work for some reason
(e.g. there is no top-level pyproject.toml as in grazie-ml),
there are manual actions "Link All Poetry Projects" and
"Sync All Poetry Projects".

GitOrigin-RevId: 77a480cdf56d45f22c943acbad3a7c20d5eb56a5
2025-03-28 14:50:08 +00:00
Vitaly Legchilkin
498de69f2a [python] Support Hatch SDK (PY-60410)
* add new / select existing for local sdks
* create a new project with hatch sdk
* open hatch-managed project

GitOrigin-RevId: 86e970a39bc44cec34be7c82717806fc4d0009c4
2025-03-12 20:49:14 +00:00
David Lysenko
18eb19aff3 [pycharm] Address feedback
GitOrigin-RevId: ff5e1efdefa9ce24f76a0d628937a586a1363b78
2025-02-25 14:45:15 +00:00
David Lysenko
a570aebb18 [pycharm] PY-79369 Consolidate logic for pyproject.toml handling
GitOrigin-RevId: cf5b90daeaf3686b044e98888be6675618e9471e
2025-02-25 14:45:15 +00:00
Vitaly Legchilkin
eb4354215c [project-libs] add Semantic Version 2.0 library (io.github.z4kn4fein:semver-jvm) on project level (PY-60410)
It implements the full semantic version 2.0.0 specification and provides the ability to parse, compare, and increment semantic versions along with validation against constraints (C) author

+ add io.github.z4kn4fein:semver-jvm:2.0.0 as library on project level
+ switch module-local dependency for RustRover to the project-level.
+ add to the python.core plugin as a dependency

GitOrigin-RevId: f95154ba8d99b91687bd02fc952281aa5f05f0a5
2025-02-09 12:28:45 +00:00
Ilya.Kazakevich
3e14c16503 Python: Use SystemPythonService in v2 add interprets widget, also fix PY-78732.
We now use `SystemPythonService` to look for system pythons and validate new pythons against it.

GitOrigin-RevId: c06201cd03f7e1cb060a44c4578dd71f8bb05df6
2025-02-04 04:31:32 +00:00
Ilya.Kazakevich
6b6658fbc9 Python: make system python service available from community.
We make it a part of PythonCore module to use it from community

GitOrigin-RevId: ea6b00b6ac1a24478f9ff74cb34beffab0942089
2025-02-03 22:07:16 +00:00
Aleksandr Sorotskii
e0e9e611a6 support for listing uv provided pythons PY-77537
GitOrigin-RevId: 7003a66ba729d7565c1cf876198d85d45d025659
2025-02-03 17:10:53 +00:00
Ilya.Kazakevich
d38bf97b98 Python: introduce module for tool to create virtual envs.
This tool supports remote eels.

GitOrigin-RevId: d4f43a782435cef6afa66c92d6d71596269c9ea1
2025-02-02 05:05:52 +00:00
Ilya.Kazakevich
962b52d8a0 Python: installer to the separate module.
We need python services not to depend on community.impl

GitOrigin-RevId: e0259aba8d41bc02aa347e3d1d77697162fcc9ce
2025-01-29 00:07:48 +00:00
Ilya.Kazakevich
54b33961fe Python: Extract poetry to a separate module to resue it.
We need to decouple it from community.impl

GitOrigin-RevId: 1636a67bc2f0d4d7a93ad255cde58b4bddb84211
2025-01-28 02:47:22 +00:00
Vladimir Krivosheev
4453c70b07 don't export intellij.xml.psi
GitOrigin-RevId: 0186a8f9f878122dbb297ca06f64fa7fd4b2e579
2025-01-18 21:21:04 +00:00
Gleb Marin
83e721a261 PY-77964, JBAI-10754 Unify ML API versions in ultimate
Also fixes 'Unable to load ML model' exception on Windows

Merge-request: IJ-MR-153007
Merged-by: Gleb Marin <Gleb.Marin@jetbrains.com>

GitOrigin-RevId: 2d5421dbee4ed86c81b9eba1f6d65dfdf4557698
2025-01-15 22:44:35 +00:00
Gleb Marin
d80ad96aee [ml imports ranking] Update ML API version & add an actual ML model
Fix build issues

Fix build issues

Remove redundant extension point

Fix build issues

Fix rebase issues

import rank

# Conflicts:
#	.idea/libraries/jetbrains_ml_models_python_imports_ranking_model.xml
#	.idea/libraries/jetbrains_mlapi_ml_feature_api.xml
#	build/expected/ultimate-content-platform.yaml
#	community/.idea/libraries/jetbrains_mlapi_ml_building_blocks.xml
#	community/.idea/libraries/jetbrains_mlapi_ml_feature_api.xml
#	community/platform/ml-api/intellij.platform.ml.iml
#	community/platform/ml-impl/intellij.platform.ml.impl.iml
#	community/platform/ml-impl/src/com/intellij/platform/ml/impl/logs/fus/IntelliJFusEventRegister.kt
#	community/platform/ml-impl/src/com/intellij/platform/ml/impl/logs/fus/eventFields.kt
#	community/platform/ml-impl/src/com/intellij/platform/ml/impl/tools/logs/IntelliJFusEventRegister.kt
#	community/platform/ml-impl/src/com/intellij/platform/ml/impl/tools/logs/eventFields.kt
#	community/platform/ml-tools/src/com/intellij/platform/ml/tools/logs/fus/IntelliJFusEventRegister.kt
#	community/platform/ml-tools/src/com/intellij/platform/ml/tools/logs/fus/eventFields.kt
#	community/platform/platform-impl/codeinsight-inline/src/com/intellij/codeInsight/inline/completion/ml/TypingSpeedFeatureProvider.kt
#	community/python/intellij.python.ml.features/src/com/intellij/python/ml/features/imports/README.md
#	community/python/intellij.python.ml.features/src/com/intellij/python/ml/features/imports/mlModel.kt
#	community/python/pluginCore/plugin-content.yaml
#	community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlAnalysis.kt
#	community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlImplementation.kt
#	community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlLogs.kt
#	community/python/src/com/jetbrains/python/codeInsight/imports/mlapi/mlTask.kt

Fix some tests

Refactor RelevanceEvaluationFeatures.kt to fix null handling

Improved the handling of `null` cases for `MODULE_SOURCE_TYPE` in `RelevanceEvaluationFeatures.kt`. This ensures more robust feature addition by checking conditions and setting the value accordingly when it's `null`. Minor formatting adjustments were also made.

Update ML model version in project configuration

Changed the Maven artifact ID from "lilac-coua" to "daffy-pony" for the python imports ranking ML model.

Fix some tests

Fix some tests

Fix some tests

Fix some tests

Fix some tests

Update Maven dependencies for JetBrains ML libraries

Update ML model version & fix missing read action

Update ML API version & update Imports Ranking implementation

Update mlapi version


Co-authored-by: Andrey Vokin <andrey.vokin@jetbrains.com>
Co-authored-by: Nikita Ermolenko <ermolenko.dev@gmail.com>

Merge-request: IJ-MR-147271
Merged-by: Gleb Marin <Gleb.Marin@jetbrains.com>

GitOrigin-RevId: 7aa520df915bb8a62263524868a17a984b619728
2025-01-08 12:52:17 +00:00
Vladimir Krivosheev
8e2762c8b0 don't export intellij.platform.projectModel.impl
GitOrigin-RevId: c927bbf14f5bf8ba06196d812c5cd5e917517627
2024-12-28 01:15:41 +00:00
Vladimir Krivosheev
a522f96d66 do not export deps blindly (part 3)
GitOrigin-RevId: 7277ece9ded25f1111febc8dccaba9ac8cc75c21
2024-12-22 20:28:42 +00:00
Vladimir Krivosheev
f283f90213 do not export deps blindly (part 2)
GitOrigin-RevId: 902eb50acfc65c054b5d207bf15950e1da80409e
2024-12-21 22:49:44 +00:00
Vladimir Krivosheev
87671ad22c extract intellij.platform.ide.observable (required to extract UI DSL)
GitOrigin-RevId: cf1e7fc1e73a9a6cfb29041d48dfd6f3286ef890
2024-12-16 19:34:14 +00:00
Vladimir Krivosheev
7d802ca10e extract intellij.platform.ide.codeinsight.inline
GitOrigin-RevId: b80c9bdb75132fdf82a217ab31f034da6c4593a6
2024-12-16 12:50:52 +00:00
Ilya.Kazakevich
42cc1cf8af PY-77813: Report new project type broken in NPW.
FUS statistics consists of two parts:
1. Interpreter (i.e "venv" or "conda")
2. Project generator type ("Django" or "Flask")

`com.jetbrains.python.newProjectWizard.collector.PythonNewProjectWizardCollector.GENERATOR_FIELD` was a class without any limitation and `DirectoryProjectGenerator` instance was reported (i.e one for Django).

When migrated to NPW, we:
1. Dropped most old generator classes
2. Called this function providing `this::class` by accident, and it was `CoroutineScope`, so we finished with lots of `CoroutineScope` as generator type in FUS.

We must:
1. Provide old names for project types to preserve statistics.
2. Make it type-safe this time.

We also found that interpreter statistics is nullable for `PySdkCreator` which isn't true: SDK creation statistics is always not null.

So we:
* Introduce interface for project generators that reports "name for the statistics"
* Implement it both for DS and PyCharm by returning class name by default
* Overwrite it for several well-known generators to preserve statistics (use old named of now-deleted classes)
* Make interpreter statistics not null.

GitOrigin-RevId: 37eefb73361ff96dea88e4e2b4c6b291a91e13f0
2024-12-03 02:27:12 +00:00
Vladimir Krivosheev
8c77c9ed84 don't export ide.core.impl from lang-impl
GitOrigin-RevId: 029fef0995b0d8e6b684f463bdd856dd17021366
2024-12-02 11:32:59 +00:00
Vladimir Krivosheev
4118783723 remove runtime dep on intellij.python.community.impl.huggingFace - fix cycle dep for Bazel
GitOrigin-RevId: f56d700a6f1ff14c6304f4ebb566067b909ce740
2024-11-30 08:51:47 +00:00
Aleksandr Sorotskii
9b76b13e69 basic support for uv env & package manager; PY-75983
GitOrigin-RevId: 2597e4de17e167d8a0b0038190b5127a9dc4b155
2024-11-15 17:27:12 +00:00
Aleksei Kniazev
88df1335c4 [python] in-product survey about user's job for pycharm (PY-74269)
(cherry picked from commit 5ce25d3c418b54649e6a52a892bc84b837251e76)

IJ-MR-148062

GitOrigin-RevId: 0f3602d64459a2632bff07243e7e166ec59e9665
2024-10-31 17:23:14 +00:00
Nikolay Chashnikov
650dfeb078 [python] cleanup: remove unused dependencies on 'groovy' library
We don't have groovy files in the source code anymore, so it doesn't make sense to have 'provided' dependency on 'groovy' library.

GitOrigin-RevId: 3c5e98c4f57697eb93349bacc25d3dfa61b9b9e3
2024-10-22 09:19:18 +00:00
Vladimir Krivosheev
387be9d569 IJ-CR-146078 extract intellij.platform.ide.ui
GitOrigin-RevId: 1d77381f1bcc811dbf644e47e70972a572c095f2
2024-10-10 23:38:08 +00:00
Vladimir Krivosheev
4a176d4c02 IJ-CR-146078 extract intellij.platform.bootstrap
GitOrigin-RevId: b79efc92829111228e83058e54381d8e02116b6f
2024-10-05 22:01:55 +00:00
Vladimir Krivosheev
2af05dec25 extract intellij.platform.ide.internal
GitOrigin-RevId: 0e5e80fd53c3ef15ed9835a9400381d383526ca3
2024-10-03 19:22:03 +00:00
Vladimir Krivosheev
26c94d85b0 extract intellij.platform.ide.remote
GitOrigin-RevId: 9d68fda3031f89d5b0207782e796a54f24683176
2024-10-03 09:58:11 +00:00
Ilya Kazakevich
7bd141a993 PyCharm: Rewrite NPW API: See com.jetbrains.python.newProjectWizard
This package (aka PyV3) fixes several issues, including
1. Lots of `DirectoryProjectGenerator` misuses: We now create UI and settings with `ProjectGeneratorPeer`: no more manuals casts in callback
2. Decouples project generation from UI: Settings aren't aware of UI but generate a project instead. Settings are mapped to the UI using Kotlin DSL UI
3. Kotlin DSL UI panel enables validation
4. `PySdkCreator` (an interface implemented by all "v2" SDK panels) now accepts `Module`, so we can provide it Poetry

The whole machinery of `PythonGenerateProjectCallback` (a pack of manual casts only mother could love) is completely deprecated and will be removed soon.

Lots of small changes towards `suspend` functions, Kotlin DSL UI and `Flow` decrease the technical debt.


Merge-request: IJ-MR-144503
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>

GitOrigin-RevId: 21963e843b0ae67c71a6fc5ea1229cb0f57915a9
2024-09-10 19:50:12 +00:00
Egor Eliseev
a54292035d PY-65295 Poetry installation
Try to install Poetry and Pipenv if they are not found


Merge-request: IJ-MR-141839
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>

GitOrigin-RevId: 535426090df23b358ba61a9e21c2f0954c201945
2024-09-10 10:40:05 +00:00
Daniil Ovchinnikov
36b34c4e18 extract intellij.platform.ui.jcef module
GitOrigin-RevId: 560932e829c0bbf85d51b22a80963a978cf89553
2024-09-03 17:43:45 +00:00
Nikita Pavlenko
3f6407f38f [pycharm] DataView (fix): Moved invasive module intellij.notebooks.tables to a proper place. Dependencies cleanup. #CPP-38829 Fixed
GitOrigin-RevId: 2b9226d765d8242d3eb37248b9542145a632f8c5
2024-05-21 17:43:23 +00:00
Ilya Muradyan
36ec2d65b0 KTNB-235, PY-64586: Split intellij.python.jupyter.tables and intellij.python.pydev
GitOrigin-RevId: e417ef93a7ad78672df99631f3053fe36b8c681b
2024-05-12 11:15:23 +00:00
Ilya.Kazakevich
96f4e6ddc6 [python]: poetry moved back to the community as python now requires toml
GitOrigin-RevId: 3418c93e413489b4660b03c58c2b8f60ae228b4b
2024-03-07 22:47:54 +00:00
Bogdan Kirilenko
c1b66ed55b [pycharm] PY-63670 init HF module
GitOrigin-RevId: 76a49cd2d3e4584a69dee88303cbf327c3f1f3df
2024-02-10 17:00:13 +00:00
Petr Golubev
25b8ebcf83 PY-61639 Extracted PythonEnterHandler
GitOrigin-RevId: 8fd0c063c917e07c3f1bf98533c3de867f770ee9
2024-02-08 13:58:08 +00:00
Ilya.Kazakevich
609b161c64 [python] convert poetry to separate module to access from outside module
GitOrigin-RevId: 0b1f65214832b7ce99f2f3c6762835b16b3cdcf1
2024-01-25 22:44:25 +00:00
Ilya.Kazakevich
b9f1d76df5 [python] Move CommandLineConsoleApi.kt and friends to ultimate
It is not used by community and should be replaced with new terminal soon

GitOrigin-RevId: b1ad1e5e564dca3ba6dc90146abdb353ab44e789
2024-01-12 16:51:17 +00:00
Ilya.Kazakevich
e95af7e141 Move commandInterface to the separate module: towards v2 refactoring
GitOrigin-RevId: 18dcc57922878c8ad1fe0bb6be85097d4d81cc34
2024-01-08 22:40:10 +00:00