(MP-6452) Fix failing project structure and packaging tests
(MP-6452) Make sure that machine learning score is calculated correctly for each plugin
Previously, there was a cache with mutable list of features. There were two issues with it. First, because of mutability, it could store mlScore for a different query sometimes. Second, there were no guarantees on consequent call of ranking and features logging before the next ranking event happens, so the feature cache could be inconsistent in certain scenarios.
(MP-6452) Introduce search index in plugin manager events that corresponds to actual query order
I also change the definition of plugin manager session. The session is restarted only in two cases: when a user clicks on the Plugins section in settings or when the search is restarted after a plugin installation.
(MP-6452) Add additional features: is result ordered by ML, is user internal, experiment group and version
(MP-6452) Fix missing date of latest plugin update, add days since latest updates and textual features
(MP-6452) Apply suggestions from the code review
(MP-6452) Integrate the ranking plugin with the search and the logging group
In feature extractors, during the first run, I calculate the features for a model to predict plugin relevance and on the second run the features to report to the MP collector (with predicted score, for example). I also implement features cache to calculate the most of the features only once
(MP-6452) Implement the baseline plugin manager session id definition and log it to FUS and MP recorders
I attach the start of a session to enableSearch method of PluginManagerConfigurable that gets triggered on "Plugins" setting group selection in the menu
(MP-6452) Add plugin for plugins ranking in the Plugin Manager
ML in SE: add embedding search integration test subsystem tag
Merge-request: IJ-MR-130364
Merged-by: Evgeny Abramov <Evgeny.Abramov@jetbrains.com>
GitOrigin-RevId: 9136d316aec2ede74bec07798dd8db16e7849f54
`.main` suffix is reserved for aggregator modules which are used to run app/tests from sources.
This module is actually used in the production.
The name is chosen because the module contains the starter for non-commercial products.
GitOrigin-RevId: f456bbe2aae33d2f016136fc9ad32c23ab751240
Autolayout doesn't obey includes. With plain copy/paste (which is a recommended approach for now) we do not have to list all modules manually in `pluginLayout`.
It is taken from `content`.
We also refactor out PyCharm training, as it depends on plugin that may not exist
GitOrigin-RevId: c225b3565a4b3ea1121a7cdf0b072a63b9448ca4
Layout:
JPS modules
`intellij.python.community`
`intellij.python.community.impl`
`intellij.python.parser`
`intellij.python.psi`
`intellij.python.psi.impl`
`intellij.python.ast`
use package `com.jetbrains.python`
and go to `intellij.python.community.impl` v2 module
JPS module
`intellij.python`
uses package `com.intellij.python.pro`
and goes to `intellij.python/pro` v2 module
Both v2 modules (along with lots of others) come with
`PythonId` (prof) or `PythonCore` (community) plugins
DS bundles `intellij.python.community.impl`
Idea and other Mini IDEs get `PythonCore` or `PythonId` plugin that bundle modules for Idea and mini IDEs
GitOrigin-RevId: 98f418c52d90d51b9adf3250c561f2c36c767e2d
`guessHome` must be parameterized with class inside of home, how else can it determine home?
While in coroutine, it gets coroutine class inside `jar` resided in `.m2` dir and failed to find home.
This function should always use `.class`, not `.jar` class
GitOrigin-RevId: fd45ddd9090392e5bb34f67996ef561dcbd8e5b2
also bump sdks.json to latest
(cherry picked from commit 14cc088c20a8b77ee49007d8f7b982920e40c6e6)
IJ-MR-121650
GitOrigin-RevId: db7c0d11a61e239e2f47bd2f1a8dd1156f3712b1
EmbeddedJetBrainsClientLaunchers uses 'createCopyForProduct' to create a build context to produce launchers, and it passes the home directory of the ultimate project when building PyCharm Community from ultimate build scripts. So it's better to explicitly pass the path to the community project to the customizers.
GitOrigin-RevId: b0a993a27210d51f41255be2fea7ec1e81dbaaaf