165 Commits

Author SHA1 Message Date
Nikita Iarychenko
1eb3edbbba OPENIDE add missing copyrights
(cherry picked from commit b729986736)
2025-10-08 11:03:19 +04:00
Nikita Iarychenko
f91b8b5144 OPENIDE #148 Contains hotkey for "intellij profiler"
(cherry picked from commit 2f196ab37a)
(cherry picked from commit 182986b0b5)
2025-10-08 11:03:17 +04:00
Nikita Iarychenko
537434b1b5 OPENIDE #18 Removing Ultimate recommendations
(cherry picked from commit 51b3d30ceafcc14c225dfef7710f6e6945f5c198)

(cherry picked from commit 51c6120cfb)
2025-10-08 11:00:38 +04:00
Nikita Iarychenko
b869d83490 OPENIDE #24 Restrict IDE access to untrusted sources
(cherry picked from commit 5bc56a6a642bb0baba1a0434c50f6b45cae64cb9)

(cherry picked from commit fdfad7b125)
2025-10-08 11:00:38 +04:00
Mikhail Pyltsin
39c7cad0e8 IJ-CR-170986 Revert "[java] IDEA-375405 Change action name "Java Class" -> "Java Class/File""
- fix conflicts and fix message

GitOrigin-RevId: 91cb0cbea453a4b228354bc47867b85aacdf07ae
2025-08-04 21:51:41 +00:00
Mikhail Pyltsin
b29c793883 [java] IDEA-375577 Experiment with 'Compact source file' as a separate action
- move caret inside body
- move action under Java

(cherry picked from commit b8dddfd9711b4f3b251ec935b781518f64716bbf)


(cherry picked from commit 678f25cae5f8b3c2887a897ef76da2fb187d5ce9)

IJ-MR-169535

GitOrigin-RevId: 9a6e0bb40e686589e2a33bff1d833bbdcd6dea52
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
13a06ddd5f [java] IDEA-375577 Experiment with 'Compact source file' as a separate action
(cherry picked from commit 448f88ce96042ed144d922ca80aeb0bfcfde8be6)


(cherry picked from commit d904019061229c07fe5df4ed717069ec06e0fd06)

IJ-MR-169535

GitOrigin-RevId: 3bacb8104f0bde46fc4185cfa7743786d5111298
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
adbee4d116 [java] IDEA-371865 Inspection to convert 'System.out'<->'IO'
(cherry picked from commit fdb87ffc06388bd022224000c7b4e8d9e2013e9d)


(cherry picked from commit 0b859951fc41c73a63773e00059af72f7975a0c5)

IJ-MR-169535

GitOrigin-RevId: 93fb176f7dabaa17a663e4d5c8a9d634eecf2100
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
d6bb45a7d4 IJPF-CR-29151 [java] IDEA-374204 JEP 512: use 'Compact Source Files' for implicitly declared classes
- fix naming

(cherry picked from commit 91c2c095f5ca3b2ac3d6fc6de8d85b4f7205cfe7)


(cherry picked from commit e9c066e0a80b0154b69f1cf94334ab1e209dd74f)

IJ-MR-169535

GitOrigin-RevId: 305bc4173b42de65872f95e867b193eaef35a8c8
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
b42574277b [java-inspections] WIP IDEA-374760 Move implicit classes inspections to Java 25 migration aids category
- 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
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
a631076474 [java] IDEA-374204 JEP 512: use 'Compact Source Files' for implicitly declared classes
(cherry picked from commit e77a013fa84cbafbfec866f6489147115532f656)


(cherry picked from commit 4619021e3dc70c3bec362b174b02a25212b954db)

IJ-MR-169535

GitOrigin-RevId: 639568fba9e6ac43f505e88d4cd5510f6203dd55
2025-08-04 12:58:49 +00:00
Mikhail Pyltsin
bfdeae6e6d [java] IDEA-360282 Use implicit class declaration for a new Java 25 project
- support new java file templates for java 25

(cherry picked from commit ae9df54a7ea1f55f68da5d3688a27bcdc4545850)


(cherry picked from commit e50ccc9076136085e88629b1f7f9f5f4162dd424)

IJ-MR-169535

GitOrigin-RevId: 7dbb94053e95dd7f65b87ad84c1cd95f3b4eb48f
2025-08-04 12:58:49 +00:00
Mikhail Pyltsin
845ea744cc [java] IDEA-373074 Improve SOUT templates for java 25
(cherry picked from commit 688a0f2ccefaa6f3f9b51c8528fa11e61d0798b0)


(cherry picked from commit e7979c1d2177b555cf816a20bb76720703f2e84a)

IJ-MR-169535

GitOrigin-RevId: 7cebb5b39a388c2c53e7f338f30669856bdd4c2a
2025-08-04 12:58:49 +00:00
Bartek Pacia
46c614d351 [java] IDEA-372997 Rename Structured Concurrency template context IDs for clarity and alignment with JEPs
(cherry picked from commit 49ce008fe9927664542e1f4ec2d16564e4be893a)


(cherry picked from commit c2f4f6c2836da2820758bbf456bed9004969488e)

IJ-MR-169535

GitOrigin-RevId: 39ff2e755aaacd6dd8cfb970ed87807e0f18ea6e
2025-08-04 12:58:49 +00:00
Bartek Pacia
5cba7b1050 [java] IDEA-372997 JavaFeature: create two versions of the Structured Concurrency to reflect reality in JEPs
see discussion in IJ-MR-167068

(cherry picked from commit 6d36cb4375f8f6a6d7d7b603de037c2c7a5255a8)


(cherry picked from commit bc222c301dfe54624b54c05431dadf0a5c0523dc)

IJ-MR-169535

GitOrigin-RevId: 05d36387c2949811727a8191dd8cf9a4bb70ee8e
2025-08-04 12:58:49 +00:00
Bartek Pacia
ba9ef159a8 [java] IDEA-372997 Bring back stss and stsf template and restrict to only JDK 24 preview
(cherry picked from commit d89039c7426017c35f70bdcbb11061fcfedf22a3)


(cherry picked from commit 1b673e44fa7f54e94d1015734de85344143ce493)

IJ-MR-169535

GitOrigin-RevId: fdbda50a60d7aa2ca077f334788a16245bdfe025
2025-08-04 12:58:49 +00:00
Bartek Pacia
f36a9d58bc [java] IDEA-372997 Restrict sts template to only JDK 25 preview
(cherry picked from commit 40d0c8a18018eaf2d086af82f47298e83204dcec)


(cherry picked from commit 0ef55b7e2e6016e27237414a32bf791de27a4431)

IJ-MR-169535

GitOrigin-RevId: c77ebf28ee136a711cb7a79032e8ae2f8c2d7f43
2025-08-04 12:58:49 +00:00
Dmitriy Smirnov
7d0143ad57 IDEA-364969 Make the order of toolbar actions in Maven and Gradle the same
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
2025-06-30 19:40:10 +00:00
devcrocod
fc8e334258 [Koog] JBAI-14528 add Koog to stats tracking
Added koog to library-usage-statistics.xml and library-jar-statistics.xml


(cherry picked from commit 9e0e3dd94986564ad070e3a4467fc51d9e9718ec)

IJ-CR-166510

GitOrigin-RevId: 9fe9e0b847d451ff83371b47f7321cfdff122f5e
2025-06-23 19:47:45 +00:00
Mikhail Pyltsin
3ad205d0c3 [java] IDEA-374464 java.lang.NullPointerException: getProjectJdk(...) must not be null on downloading JDK
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
2025-06-19 08:36:18 +00:00
Sergei Vorobyov
f10a240e01 [DependencySubstitution] cleanup: encapsulate coordinate matching inside DependencySubstitutionExtension
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
2025-06-13 21:26:49 +00:00
Vladimir.Koshelev
be20db0c55 SID-73: single IntelliJ IDEA distro
IJPL-182235: return a plugin dependency to avoid CNFE [spring.data] -> [spring.el.contexts]

SpringDataQLInjectorBase in spring-data uses ElTemplateParser class from com.intellij.javaee.el

Merge remote-tracking branch 'origin/master' into singleDistro252

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt

[remote-driver] Simplify JBA login in tests

Replaced repetitive inline browser handling code with `logInToJba` helper method.

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-182235: filter out plugins that depend on explicitly disabled ones

Do not try to enable plugins that have at least one direct or transitive non-optional dependency in disabled_plugins.txt

[patronus] IJI-2659: add plugins/ultimate-plugin to rider.rules

Merge remote-tracking branch 'origin/master' into singleDistro252

[integration tests] IJPL-182235: do not disable paid plugins on startup in WarmupIntegrationShortTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in DynamicNonBundledPluginsTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in DynamicLoadingDatagripPluginTest

[remote-driver] IJPL-182235: do not disable paid plugins on startup in ToolWindowsUiTest

[remote-driver] IJPL-182235: do not disable paid plugins on startup in StatusbarTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in workspace model integration tests

[remote-driver] IJPL-182235: do not disable paid plugins on startup in UpdateRequestTest

IJPL-182235: add an option to not disable paid plugins on startup in tests

IJPL-182235: make shouldStartWithPaidPluginsDisabled a bit more readable

[remote-driver] Add license tests tags and suites

[remote-driver] Improve BaseLicenseUiTest data cleanup for local run

[remote-driver] LicenseDialogUi Cleanup

[remote-driver] Extend AuthDialogUi with DialogUiComponent

Replaced UiComponent with DialogUiComponent as the base class for AuthDialogUi

[remote-driver] Add EAPLicenseUiTest

[remote-driver] Rename `TokenAuthDialogUi` to `AuthDialogUi`

IJPL-189370: change EAP expiration logic in unified builds to the standard one

IJPL-182235: do not disable the Ultimate plugin on IDE startup in EAPs

!fixup [remote-driver] AT-2142 Create single distro license tests

[remote-driver] AT-2142 Create single distro license tests

IJPL-187422 fix empty system name for license expiration dialog

[remote-driver] Add UI test stubs for single distro licenses

AT-2142 Add trial license generation support in tests

Implemented a new method to generate trial licenses

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	build/expected/ultimate-content-platform.yaml
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/ListPluginComponent.java
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginModelFacade.kt

AT-2129 Add a test for loading an ultimate plugin after activating the IDE

IJ-CR-164880

IJPL-187743: replace reference comparison with `Objects.equals` for String in isFromSubscriptionExpirationDialog

String references *may* be reused, but it seems like it doesn't happen in built installers, so let's use a more reliable equality check

IJPL-184018: "Continue and Restart..." in the force choice dialog should restart the IDE

IJPL-187785: call dry run trial license on startup once a day even in the TRIAL_AVAILABLE state

If the user hasn't accepted the trial yet, and it's no longer available, update the state

IJPL-187785: don't call dry run trial license more than once a day

Even in the error state

[singleDistro] move com.intellij.frameworkSupport extension point to lang module from java

Without that we will consider database plugin as non-dynamic for IDEs without java plugin since it requires com.intellij.frameworkSupport  EP, but it is not loaded.

Add plugins/ultimate-plugin to executeOnChanges for Kotlin Ultimate and RubyMine Tests (IJI-2659)

PatronusConfigYamlConsistencyTest failed after merging the latest changes from master

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/src/checks/rustrover/RustRoverTestsAggregator.kt

Add plugins/ultimate-plugin to executeOnChanges for RustRover Tests in .patronus/.../RustRoverTestsAggregator (IJI-1562)

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/src/main/org/jetbrains/intellij/patronus/gen/checks/rustrover/RustRoverTestsAggregator.kt
#	community/platform/platform-impl/api-dump-unreviewed.txt
#	community/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt
#	community/platform/platform-tests/testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt
#	plugins/llm/javaee/spring/mvc/BUILD.bazel
#	plugins/llm/javaee/spring/mvc/intellij.ml.llm.javaee.spring.mvc.iml
#	ultimate/ultimate-resources/resources/META-INF/plugin.xml

PY-81389, PY-81220 The "Trial" widget appears in the EAP builds

IJPL-187601 Licenses: Log out should propose restart only if there is a subscription

PY-81389, PY-81220 The "Trial" widget appears in the EAP builds

IJPL-187785: show the error state in the trial widget only when dry-run failed for the user eligible for auto trial

either a new user or a user with an old enough config (at least 6 months)

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-187785: add an error state for the trial widget

IJPL-182435: do not execute trial acquisition with Ultimate plugin enabled

IJPL-186844: convert groovy duplicates detection to content modules

IJPL-186844: check class loaders in checkCanUnloadWithoutRestart for optional dependencies

Co-authored-by: Vadim Salavatov <vadim.salavatov@jetbrains.com>

Revert "IJPL-186844: do not process non-optional module dependencies when onlyOptional is true in processDependenciesOnPlugin"

This reverts commit 411880ca36cc6d7c70222c1d0086119e8ffbf7fd.

IJPL-183884: adjust dynamic plugins test

The previous version led to `ClientSessionsManager is registered as application service, but requested as project one` errors in some other tests when running on TeamCity

Update Bazel files

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/config.yaml
#	.patronus/src/main/org/jetbrains/intellij/patronus/gen/checks/rustrover/RustRoverTestsAggregator.kt

IJPL-182235: remove extra compile dependencies from llm spring modules [spring.data] -> [spring.el.contexts]

Reported by `IdeaUltimatePluginModuleDependenciesTest.testPluginModuleDependencies` for `intellij.ml.llm.javaee.spring.data` and `intellij.ml.llm.javaee.spring.mvc`

Add plugins/ultimate-plugin to executeOnChanges for RustRover Tests in .patronus/config.yaml (IJI-1562)

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-api/resources/messages/IdeBundle.properties
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt
#	licenseCommon/source/com/intellij/ide/license/impl/UnifiedLicenseManager.java
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-183257: rename AutoTrialForNewUserProjectActivity to TrialProjectActivities

IJPL-183257: break AutoTrialForNewUserProjectActivity into separate activity classes

IJPL-183257: load paid plugins on the New project wizard opening in PyCharm

- for new users when trial is available
- for logged-in users when an active license was found

IJPL-183257: convert PyCharmNewProjectAction to Kotlin

Rename .java to .kt

IJPL-183257

IJPL-183257: load paid plugins on the New project wizard opening in IDEA

- for new users when trial is available
- for logged-in users when an active license was found

IJPL-183257: try loading paid plugins on the Licenses dialog closing

If the Ultimate plugin is still enabled on close (there's an active license), the plugins will be loaded if needed

IJPL-183257: execute trial check as early as possible

Make TrialStateService an applicationService that is preloaded on app start instead of a light service that is loaded on first access from the widget after the project opening

IJPL-187204 Disable the "Enable" btn in the Marketplace tab for Ultimate plugins

IJPL-187743 Force choice dialog should reappear if Manage Subscriptions is closed without activating

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-api/resources/messages/IdeBundle.properties
#	community/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java

IJPL-187740: move project activity into DynamicPaidPluginsService, get rid of PropertiesComponent usages

IJPL-187733 Manage subscription dialog is opened multiple times after closing plugin manager

IJPL-187763 Wrap the message in Plugin available with subscription

IJPL-187740: rename DynamicPluginsService to indicate that it is about paid plugins

IJPL-187740: move DynamicPluginsService to the platform

IJPL-183257: add more logs for loadPaidPlugins

IJPL-187412: do not show the Licenses dialog right after enabling the Ultimate plugin

No delay resulted in showing the dialog while issuing a trial license. Successful trial acquisition should be "silent"

Related ticket: IJPL-177912 - Add an action to activate paid mode

IJPL-187412: execute an anonymous trial dry-run when userId is null (not logged in)

IJPL-182435: make pluginKey `@NotNull` in `shouldObtainLicenseAutomatically`

Avoid possible NPEs on pluginKey if the subclass doesn't check it

Merge remote-tracking branch 'origin/master' into singleDistro252

SID-87, IJPL-187565 Fix Activate subscription buttons to call an action instead of URL

SID-87: Update vision pages to new design

IJPL-182252: extract trial availability check to a separate function

IJPL-182435, IJPL-182252: add logs for trial availability check and auto-trial

IJPL-187424: remove got-it tooltip for trial grace period state

IJ-CR-161922: put all method parameters on separate lines

IJPL-183891 UI: Adjust license management dialog to work with subscription

Adjust trial days message logic and tooltip handling

Unified message formatting for trial days left. Replaced distinct messages for "1 day" and "0 days" with a single format using choice logic. Updated tooltip logic to ensure `remainedDays` is always non-negative.

IJPL-182235, IJPL-187253: schedule paid plugins loading synchronously with the non-modal modality state

If invoked in the background, it might lead to races between Ultimate plugin unloading on Continue for free and scheduled loading on activate/restore license

IJPL-186903: fix an exception on plugin unloading when the Licenses dialog is shown

IJPL-186901: fix exceptions on plugin loading when the Licenses dialog is shown

IJPL-182235, IJ-CR-161922: add an overload for `DynamicPluginEnabler.enable` to pass a progress title

Simply wrapping the call in `withModalProgress` doesn't show the progress

IJPL-186920: activate a license if it is found during the trial availability check in the free mode

IJPL-183891 UI: Adjust license management dialog to work with subscription

IJPL-186844: do not process non-optional module dependencies when onlyOptional is true in processDependenciesOnPlugin

Co-authored-by: Vadim Salavatov <vadim.salavatov@jetbrains.com>

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateUtils.kt

IJPL-182435, PY-79495: remove commercial.license dependency from trialPromotion

IJPL-182435, PY-79495: make register Pro/Ultimate trial silent action when possible

IJPL-182435: automatically start a trial for a completely new user

IJPL-182435: factor out ConfigImportHelper.getConfigLastModifiedTime utility function

IJPL-183132 Trial widget: non customizable action

Merge IJ-MR-161630: IJPL-182252: Do not propose trial if the user had any other license active during the last 4 months
IJPL-186755 Add exit app option to restart dialog

PY-79495 Start Free Trial action on the Trial Widget

PY-79495 make register Pro/Ultimate trial silent action when possible

IJPL-186172 UI: Changes in plugin manager

IJPL-182235: load paid plugins after the project opening

IJPL-182235: extract dynamic loading of the paid plugins to a separate service

IJPL-182235: load paid plugins when valid license is restored

If the IDE is started in free mode, the user is logged in and clicked on Manage Subscriptions; a valid license might be restored (e.g.: JetprofileSource). In this case LicenseEntryModel.activateLicense is not called.

IJPL-183846: show the force choice dialog after the project opening

If no project is open yet, save the verification state for later

IJPL-183846: show the force choice dialog if IDE is started with an expired subscription

IJPL-182235 IDEA should start with paid plugins unloaded when no license is available [spring.data] -> [spring.el.contexts]

IJPL-184018 UI: Implement Subscription expiration dialog (force choice)

IJPL-182252: if the server returns any license that was active during the last 4 months, consider trial as not available

IJPL-182252: add getLicenses to JBAccountInfoService

Similar to getAvailableLicenses but includes licenses that have been expired for less than the specified expiredLicenseDays

Merge remote-tracking branch 'origin/master' into singleDistro252

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	build/expected/ultimate-content-platform.yaml

IJPL-182736: automatically open an editor tab on the first opening of the day when the trial state is EXPIRING

IJPL-182736: do not show the GotIt tooltip for EXPIRING trial state

IJPL-182736: add a separate content kind for the trial expiring today

IJPL-182252: perform trial availability check no more than once a day

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-182235: load paid plugins when valid license is activated

Try to enable and load paid plugins without a restart. If there are plugins that cannot be loaded, do not enable these plugins. Show a notification suggesting enabling these plugins with a restart.

IJPL-182235: start IDE with paid plugins unloaded

- If this is a first start:
 - load all paid functionality if there is a license file
 - disable the Ultimate plugin and don't load plugins that depend on it if there's no license file in the config
- On later starts load in free mode if Ultimate plugin is disabled

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.kt
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt
#	ultimate/min/resources/META-INF/plugin.xml

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184018 UI: Implement Subscription expiration dialog (force choice)

IJPL-184018 UI: Implement Subscription expiration dialog (force choice) - extract dialog

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-183884: remove loading errors for plugins that were successfully loaded dynamically

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-182740: open an editor tab when clicking the trial widget in the TRIAL_AVAILABLE state in IDEA

Add StartTrial action that can be referenced in the Vision file;
Add a sample Vision JSON: vision-trial-available.json for IDEA;
Keep the current behaviour in PyCharm: start trial on click instead of opening an editor tab.

IJPL-182740: add a trial widget got-it tooltip for TRIAL_AVAILABLE state

IJPL-182740: remove the trial widget button tooltip when the state is TRIAL_AVAILABLE

Don't show "0 days of trial left"

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt
#	ultimate/ultimate-resources/resources/META-INF/plugin.xml

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-176012 Trial widget: incorrect popup position

IJPL-183132 Trial widget: non customizable action

Revert "IJPL-176012 Trial widget: incorrect popup position"

This reverts commit e85f8ce81bf003c3be4e564b96e185e9d02e8223.

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-176012 Trial widget: incorrect popup position

IJPL-182734 Widget: remove the Restart required state

IJPL-179915: don't suggest Ultimate plugin in Required plugins list

SID-132: Revert "temporarily bring back GeneralLicenseManager for IDEA (IJPL-179152)"

This reverts commit 71f2205b

SID-132: Revert "[trial] IJPL-179154: remove trial widget for IDEA"

This reverts commit f74bb96b

[license] update eua.html to 2.0 Legal-3233


Co-authored-by: Alexander Lobas <Alexander.Lobas@jetbrains.com>
Co-authored-by: Andrey Vokin <andrey.vokin@jetbrains.com>
Co-authored-by: Dmitriy Smirnov <Dmitriy.Smirnov@jetbrains.com>
Co-authored-by: Dmitry Yudin <Dmitry.Yudin@jetbrains.com>
Co-authored-by: Eugene Morozov <Eugene.Morozov@jetbrains.com>
Co-authored-by: Sergey Vasilyev <Sergey.Vasiliev@jetbrains.com>
Co-authored-by: Timur Aliberdov <Timur.Aliberdov@jetbrains.com>

Merge-request: IJ-MR-162974
Merged-by: Timur Aliberdov <Timur.Aliberdov@jetbrains.com>

GitOrigin-RevId: e2b4e7079c7de7f8ca046b9ddf8ed1de0215c5c2
2025-06-12 17:09:00 +00:00
Mikhail Pyltsin
6e407b744e [java] IDEA-360282 Use implicit class declaration for a new Java 25 project
GitOrigin-RevId: f21990af11c320d373023658866859f61c3c93fd
2025-06-11 13:56:02 +00:00
Mikhail Pyltsin
8fa46f8969 [command-completion] IDEA-359174 disable JavaIntroduceVariableCommandProvider
GitOrigin-RevId: c26b22a24a635e8043895c110db69fdd56bc6178
2025-06-10 22:18:37 +00:00
Vladimir Dolzhenko
57d356652b Support multiple TestGenerators for the language
#IJPL-191211

GitOrigin-RevId: ea685881ffdb41961bd0ee57fe329fc06993a954
2025-06-10 19:51:11 +00:00
Maria Filippova
f49b6893a7 java: fix code style sync between FE and BE: add virtualFileCustomDataProvider
GitOrigin-RevId: 5f7f8041bb424127faf1614fcd98e4f0a0cf9bdc
2025-06-10 12:19:11 +00:00
Bas Leijdekkers
b091253fad Java: improve inspection description
GitOrigin-RevId: 4168fb4b2d46dbc41eea2b0fd2bc403a62536102
2025-06-09 14:24:43 +00:00
Roman Golyshev
2adfa44e14 KTIJ-34236 [kotlin] Move description for MapAwaitOnCollectionOfDeferred to the correct folder
GitOrigin-RevId: bc32853c0c7d287b3da681380970c51dfa14a103
2025-06-06 11:48:53 +00:00
Sergei Vorobyov
2fd5d32ae0 [DependencySubstitution] fix: delete bridge coordinate contributor
This coordinate contributor resolver library and module bridges. That gives negative performance impact on the dependency substitution.

### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution

GitOrigin-RevId: d6dc66dd184b995432c49c52d3e69c6eba7567b3
2025-06-05 12:03:42 +00:00
Sergei Vorobyov
99c62682dc [DependencySubstitution] new: add maven-like coordinates for dependency substitution based on workspace model entities
These coordinates are expected to be used only for global library and module identification during the dependency substitution.

### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution

GitOrigin-RevId: 27df0b5ad9b51ce22bf4a88c850591ab600cdaaf
2025-06-05 12:03:41 +00:00
Sergei Vorobyov
de512922b8 [DependencySubstitution] fix: migrate dependency substitution logic on the workspace model
The workspace model is more performant than legacy project model.

### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution

### Tests
  * com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsWorkspacePerformanceTest

The performance test results on Mac M3

|    test params     | before (ms) | after (ms) |
|:------------------:|:-----------:|:----------:|
|     1, 1, 1, 1     |      1      |     0      |
| 100, 100, 100, 100 |     188     |     11     |
| 1000, 100, 100, 10 |     256     |     29     |

GitOrigin-RevId: 7bce84b9925d131035087351ff3edb75a00b3c29
2025-06-05 12:03:41 +00:00
Roman Golyshev
70d6e026cb KTIJ-34236 [kotlin] Implement MapAwaitOnCollectionOfDeferredInspection
This inspection detects code like `map { it.await() }`
and proposes to replace it with `awaitAll()`

Inspection is enabled by default because
it is considered to be pretty safe

^KTIJ-34236 Fixed

GitOrigin-RevId: b18f39c8a933f7ed17c74ad1879e41ca081ed901
2025-06-04 19:16:40 +00:00
Mikhail Pyltsin
dea7732836 [command-completion] IDEA-359174 support renaming after ')', '}'
GitOrigin-RevId: b4e58f9b2fe4f13c517c08f64df514641d4d2056
2025-06-04 07:38:18 +00:00
Egor Ushakov
db8da32e8c IDEA-369082 Remove registry java.exceptions.anniversary.banner
GitOrigin-RevId: 057e612093614cad4adc35d62ba64ca4323b6795
2025-06-02 16:31:42 +00:00
Roman Golyshev
4c5e1be962 [kotlin] Add a rough implementation of SuspiciousImplicitCoroutineScopeReceiverAccessInspection
This inspection allows detecting the usages or `CoroutineScope`s
in a potentially different suspension context.

Note 1: This implementation is DISABLED by default and pushed to gather
the feedback regarding the current implementation, messages,
description, options and so on.

Note 2: Currently the implementation does not provide any quick fixes.
This is done explicitly, because it is not yet clear what would be
the best quickfix, and if adding an explicit receiver would be enough.

Related tickets: KTIJ-16542, KTIJ-12307

GitOrigin-RevId: ab69f291e8ecd4121f176f2c6865123984ede47d
2025-05-27 17:58:20 +00:00
Bas Leijdekkers
e9c10e894a Java: fix after description of postfix completion to match default code generated (IDEA-349879)
GitOrigin-RevId: 669bb4ca2c49a29e5312b61e4be75cd43ad297bd
2025-05-26 13:23:28 +00:00
Pavel Porvatov
615edce517 IJPL-189107 Layout problems in ConsoleOptions and EP problems
GitOrigin-RevId: 8444bf9a438f6f27bc18997f094cedc065c721e4
2025-05-25 16:16:46 +00:00
Bart van Helvert
d1e0622170 [java] Migrate LanguageLevelProjectExtension to JavaRelease API
#IDEA-369013

GitOrigin-RevId: 6e31c3c0f8c8680641efbcd631fc11d60706507c
2025-05-22 17:00:06 +00:00
Nikolay Chashnikov
d039e59e88 [java] report access to package-private members declared in production code from tests (IDEA-372858)
GitOrigin-RevId: 6f046186e0f0a587e1aaab31dd55b9f76a28db96
2025-05-19 10:03:24 +00:00
Louis Vignier
4bfba9c80e [java] Support the auto-run floating toolbar in remdev
#IDEA-365843 Fixed

GitOrigin-RevId: 632b97cdb34f31ab99c802d08094c863c3119fcd
2025-05-14 19:51:38 +00:00
Bas Leijdekkers
26d26d0caa Java: update inspection name and description (IDEA-271214)
GitOrigin-RevId: 6c3b065c026b0de4e3b9cdf881ac2427c912390f
2025-05-13 17:43:07 +00:00
Bas Leijdekkers
86bddaa568 Java: make "Class initializer may be 'static'" inspection disabled by default (IDEA-271214)
GitOrigin-RevId: 1b7f86c5e681fddfdae563eaa2edcee8ca766d05
2025-05-13 17:43:07 +00:00
Mikhail Pyltsin
ef450d5df0 [java] IJ-CR-162106 IDEA-360079 live templates for instance main methods in implicitly declared classes
- introduce psvma and maina instead of template

GitOrigin-RevId: baf47b932895fbf11a920509c51e8cb30c84c4ce
2025-05-13 17:29:36 +00:00
Mikhail Pyltsin
7f2652b15b [java] IJ-CR-162106 IDEA-360079 live templates for instance main methods in implicitly declared classes
- add tests
- add live variables
- fix scopes

GitOrigin-RevId: 413a9bef8fc62321dfc39ea5174d85f2003fb35a
2025-05-13 17:29:36 +00:00
Mikhail Pyltsin
b1cfbfa235 IJ-CR-162106 [java] IDEA-360079 live templates for instance main methods in implicitly declared classes
- add psvm for normal class, implicit class and normal class with instance 'main' method

GitOrigin-RevId: 46858978ef26162826e951e032d8eca4e85cac49
2025-05-09 14:12:08 +00:00
Mikhail Pyltsin
4552bec0d0 [java-completion] IDEA-360079 completion for args in main methods
GitOrigin-RevId: 853671b614c02c3851e4371d956631e375d0a116
2025-05-09 09:06:33 +00:00
Mikhail Pyltsin
b2368cb44b [java] IDEA-360079 add simple source file
GitOrigin-RevId: 16e846dabdf1235053f53ac95e5c0183e74ec3e0
2025-05-09 09:06:33 +00:00
Mikhail Pyltsin
ec18253a22 [java] IDEA-360079 live templates for instance main methods in implicitly declared classes
GitOrigin-RevId: 60f08b8d4575de163bcba438933cf146fdbcd020
2025-05-06 08:46:49 +00:00
Ruslan Cheremin
ad74c6be73 [indexes] IJPL-181002, IDEA-327594: re-designed input filtering for IdIndex
+ if `IdIndexer` (`IdIndex` sub-indexer) implements `FileTypeIndexingHint` -- it is used by `IdInputFilter` to customize input files filtering
+ this feature is used to re-implement `index.ids.from.java.sources.in.jar` (instead of extension points)
+ test for `JavaIdIndexer` filtering
+ adjust `IdIndex`: processes .class-files only conditionally

+ rename registry keys (unify naming):
+ `ide.index.id.skip.java.sources.in.libs`: enables/disables indexing of java sources in libraries (index .class-files instead)
+ `ide.index.trigram.enable.exclude.extensions`: enable/disable excluding of .java-sources in libraries from trigram index

GitOrigin-RevId: 8b8e40d621e01466854364c282d00a4731d5f4de
2025-05-03 21:06:35 +00:00
Ruslan Cheremin
a8938c42d0 [indexes] IJPL-181002, IDEA-327594: comments and TODOs
GitOrigin-RevId: 5704dcb47ac1ec33cbaebb710de1b277f790d521
2025-05-03 21:06:35 +00:00