A dedicated optional content module was created because gitlab plugin does not have a YAML dependency
(cherry picked from commit 16c20b514552e161325eb81d2aa759cd9099e729)
GitOrigin-RevId: 3a1ec9a73b87064ab8f92b8721fbcc88c2634da2
'intellij.java.guiForms.jps' is added to dependencies of the build scripts modules (to allow compiling GUI forms in the build), and if tests are located in that module, test dependencies of 'intellij.java.guiForms.jps' are included in the classpath of all modules with tests for build scripts. Because of that, for example, 'intellij.idea.ultimate.build.test' had 'intellij.java.impl' in its classpath, so when a necessary dependency (on jaxb libraries) was removed from the build script modules, 'IdeaUltimateBuildTest' didn't find that because that dependency came to its classpath via 'intellij.java.impl' module, and we got a critical problem (see IDEA-358889).
Now tests of 'intellij.java.guiForms.jps' are extracted to a separate module, so their dependencies aren't included in tests for build scripts.
GitOrigin-RevId: be6e794c5a872e1bac05cdb78822616828205fcc
This commit partially reverts changes from 4da3e7da. While the consolidation of reStructuredText support into a single module is retained, it needs to be available as a plugin since some IDEs do not include it by default but can still benefit from its capabilities.
Merge-request: IJ-MR-139650
Merged-by: Andrey Lisin <andrey.lisin@jetbrains.com>
GitOrigin-RevId: bc5cde2970a0760e32ceaee61ceef8427e8f8fe5
And bundle it only to IDEA for now.
Separate module is needed because later we need to add the dependency on `intellij.platform.experiment` to implement the A/B experiment.
We can't add this dependency to the existing `intellij.platform.ide.newUiOnboarding` module because `intellij.platform.experiment` is bundled only in IDEA now. So then New UI Onboarding will be present only in IDEA, while it also should be in the other IDEs.
GitOrigin-RevId: 3dc524b97d7ef6667e0062db5d76aa1f3b56d12f
(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
To determine which modules should be compiled in IntellijDevLauncher, we need to load product-modules.xml and plugin.xml files. Currently, they are loaded via RuntimeModuleRepository from output directories, so obsolete variant may be loaded or file may not be found at all if modules containing these files aren't compiled yet. This change introduces the ModuleResourceFileFinder class, which can locate resource files in source directories instead. It doesn't use existing functionality for that to avoid adding additional modules to the system classloader. Also, it parses necessary *.iml files only to speed up the process.
GitOrigin-RevId: d55083ba879a3ae8c7985ba6e5f0211ad3062959
`.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
followup to jetbrains.team/p/ij/reviews/125638 (part of KTIJ-28926 K2: Create Function From Usage Fix)
GitOrigin-RevId: a2bdeeffea16b9ca049ee397f95069b4f88c6e4b
ProductModules and related API aren't needed for the initial startup procedure in IntellijLoader, they are used later from ProductLoadingStrategy. So they are now moved from 'intellij.platform.runtime.repository' module to a new 'intellij.platform.runtime.product' module. This reduces the amount of code located in platform-loader.jar included in the initial classpath. Also, it allows to use code from other modules and libraries in the implementation of ProductModules (e.g., write code in Kotlin).
GitOrigin-RevId: 86bbab20f217b91104df20d546dc6bda376fb63c
Created the separate `intellij.kotlin.onboarding-promoter` module for the promoter extension.
This module is not bundled to Kotlin plugin because the promoter should be present only in IDEA Community/Ultimate (when Kotlin and Features Trainer plugins are enabled).
The name of this module is prefixed by `intellij`, because otherwise `KotlinModuleConsistencyTest` will fail. Also, there will be a lot of failed tests because this module won't be loaded in `ClassPathXmlPathResolver.resolveModuleFile` (`intellij` prefixed module descriptors can be missed when loading, by `kotlin` is not).
GitOrigin-RevId: 4b81ff2bfc0b60148e8b91fd35539edd113ab787