Implemented infrastructure for UI-dependent search scopes to work properly in remote development:
- implemented WindowFocusFrontendService to not lose the focus during the creation dialog on the backend (the dialog is necessary for getting scope in some cases). So when such dialog is Luxed it'll have LxNonLuxWindowRef parent
- if scope needs any ui action, this part will be performed on the EDT
- scope selection starts on item selected in the combobox; but also when search started on the backend to assign the selected scope to the model
- ScopeDescriptor interface now has needsUserInputForScope and performUiAction methods that should be invoked for getting scope
(cherry picked from commit 8f3bb188d68e8240c4ef9b7bcb628a253d2e0103)
(cherry picked from commit 8fb3e4b67053891510e1057de0d8a758029a342c)
IJ-MR-173754
GitOrigin-RevId: e34c89c834579db9149adcdd6159961bb135be03
- always show compacts in list
- add default name
(cherry picked from commit ecd72181f4e0d846389df26210b481e358260261)
(cherry picked from commit fbf4436c7f217e4f51c61a68eb19119f1dbc393e)
IJ-MR-169535
GitOrigin-RevId: 8ce010a88de6f52400181b025cffe1b5818797e5
- set language levels for features
- fix tests
- new tests for new language levels
(cherry picked from commit 5259088ac10962f8f9373fbea29e01adb2bf7333)
(cherry picked from commit 4940a2ab6b683285d979c8aa0f86cbb775e9059d)
IJ-MR-169535
GitOrigin-RevId: 38e23b3294a45eacc56947e43c2b6d93c80da9cb
- move to java 25 folder
- update tests and fix error with incorrect resolve with new language levels
- IO.println will be updated later
(cherry picked from commit 93985096433766e33178da6048ce4554063841a2)
(cherry picked from commit 1245b45c8ef5860d2b27441666bd6eb4eea8df75)
IJ-MR-169535
GitOrigin-RevId: 416752bfd6663f4ebd684ec1a7273900c73b155d
- support new java file templates for java 25
(cherry picked from commit ae9df54a7ea1f55f68da5d3688a27bcdc4545850)
(cherry picked from commit e50ccc9076136085e88629b1f7f9f5f4162dd424)
IJ-MR-169535
GitOrigin-RevId: 7dbb94053e95dd7f65b87ad84c1cd95f3b4eb48f
see discussion in IJ-MR-167068
(cherry picked from commit 6d36cb4375f8f6a6d7d7b603de037c2c7a5255a8)
(cherry picked from commit bc222c301dfe54624b54c05431dadf0a5c0523dc)
IJ-MR-169535
GitOrigin-RevId: 05d36387c2949811727a8191dd8cf9a4bb70ee8e
The customization for the suggestion reason already existed: for detected CLI tools there was a different suggestion reason, rather then to the detected libraries of the project.
However, this customization was hard-coded. With this update, it can now be defined by the collector.
This update is needed for GO-17806 where a different reason for suggestion will be defined
(cherry picked from commit be9fbeb2d9dfafc18a9ea38ca21fee56fec8e6ec)
GitOrigin-RevId: 0abd1a8b225b3a5aeaa02fe94c78958f1ef97a13
This is important for scenarios of co-usage of the tools, which become more important when using worksapces.
(cherry picked from commit 1ee93831c703cf684c1e301f22217c699469e21c)
IJ-MR-167553
GitOrigin-RevId: 8f4f59499d7fa83e2664ca4389c2e6041740fe6d
The same library coordinates can be associated fo different LibraryEntity instances that points on the same logical libraries. For example Maven and Gradle creates LibraryEntity with different ids, for the same library, because Maven adds the "Maven:" prefix for a library name, Gradle adds "Gradle:".
### Issues
* IDEA-374892 Library dependencies aren't substituted with different names and same coordinates
* IDEA-370483 Maven performance degradation related to library dependency substitution
(cherry picked from commit 2c89f84c1374c5d9373eb590df74565713f13de4)
IJ-CR-167051
GitOrigin-RevId: f0a9432e576cd1ab50f991c5c83ea8cb8020c77b
The module and library entities usually use JPS entity source which can be used for restricted entity set. These entities should be serializable to *.iml files. However, new custom coordinate and substitution entities cannot be serialised into *.iml files. Therefore they should be registered to workspace model with separate entity source.
This entity source replacement can be done for new entities, because it has hard parent reference on the corresponding JPS entities. It means that when parent entity is removed from an entity storage then a custom child entity also will be removed from storage, even if it has the different entity source.
### Issues
* IDEA-374358 Second scanning degradation on 2025.06.05
* IDEA-370483 Maven performance degradation related to library dependency substitution
(cherry picked from commit a33a6a93a503abba9a957a4f965f4d305c4d30e3)
IJ-CR-167051
GitOrigin-RevId: f3d833b328709857a8453e3f57d306301e7c9f4b
Added koog to library-usage-statistics.xml and library-jar-statistics.xml
(cherry picked from commit 9e0e3dd94986564ad070e3a4467fc51d9e9718ec)
IJ-CR-166510
GitOrigin-RevId: 9fe9e0b847d451ff83371b47f7321cfdff122f5e
Revert "[java] IDEA-360282 Use implicit class declaration for a new Java 25 project"
This reverts commit f21990af11c320d373023658866859f61c3c93fd.
(cherry picked from commit ec865d097aa1196ef5061a473d3cc2ba2eb7ca99)
IJ-CR-166010
GitOrigin-RevId: 400df4916c884fee63cacf53b0228faf1a1f1cfa
Should improve IDEA-374524 [regression] Degradation in spring-boot global inspections
Should improve IDEA-374525 [regression] Degradation in global inspections 12.06.25
GitOrigin-RevId: d3ad7ec223fa8cb53034f68b38be260283e8b3a9
Encapsulated dependency coordinates allows to misunderstanding what is the dependency coordinates and how they should compare with each other. Also, it forbids dependency coordinate hijack by other extensions.
Maven coordinates should be specified only by the Library and Module Maven coordinate entities.
### Code Reviews
* IJ-CR-164983
### Issues
* IDEA-370483 Maven performance degradation related to library dependency substitution
GitOrigin-RevId: 01461ea4bf0fe44e60a80404a2cf08f16c0d5853