Skip to content

Conversation

@Zee2413
Copy link

@Zee2413 Zee2413 commented Jan 15, 2026

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Description

Starting with 2025.3, JetBrains unified the IntelliJ IDEA distribution - there is no longer a separate Community edition download. The ideaIC-2025.3 artifact doesn't exist; only ideaIU-2025.3 is available.

This PR fixes two related issues:

1. Subplugin dependency resolution fails for 2025.3

Problem: toolkit-intellij-subplugin.gradle.kts was trying to resolve ideaIC-2025.3 which doesn't exist.

Fix: Added IC→IU mapping when version starts with 2025.3 and flavor is IC, so dependencies resolve against ideaIU-2025.3 instead.

2. runIdeVariant property doesn't override default IDE flavor

Problem: Running with -PrunIdeVariant=IU still launched ideaIC instead of ideaIU. This is due to Gradle property precedence - .set() creates an immutable value that .convention() cannot override.

Fix:

  • Changed toolkit-intellij-plugin.gradle.kts to use .convention() (sets overridable default)
  • Changed toolkit-publish-root-conventions.gradle.kts to use .set() (actually overrides)

This complements the existing 2025.3 handling in feadd1bfc which addressed the root project but not subplugin dependencies or runtime IDE selection.

Impact

Without these fixes:

  • Builds targeting 2025.3 fail to resolve dependencies (ideaIC-2025.3 doesn't exist)
  • Run configurations with -PrunIdeVariant=IU incorrectly launch IC instead of IU
  • Features depending on 2025.3+ modules (e.g., Platform LSP) cannot be developed/tested because the build resolves against the wrong distribution

Checklist

  • My code follows the code style of this project
  • I have added tests to cover my changes
  • A short description of the change has been added to the CHANGELOG if the change is customer-facing in the IDE.
  • I have added metrics for my changes (if required)

Note: No tests added as these are build system configuration changes. No changelog entry needed as this is not customer-facing.

License

I confirm that my contribution is made under the terms of the Apache 2.0 license.

@Zee2413 Zee2413 requested a review from a team as a code owner January 15, 2026 21:17
Starting with 2025.3, IntelliJ IDEA uses a unified distribution.
This complements feadd1b which handles the root project, but
subplugin dependencies also need the IC→IU mapping to resolve
Platform LSP modules correctly.
The toolkit-intellij-plugin.gradle.kts was using .set() which cannot
be overridden by .convention(). Changed to use .convention() so that
toolkit-publish-root-conventions can properly override with the
runIdeVariant property.

Also changed toolkit-publish-root-conventions to use .set() so it
actually overrides the convention.

This fixes the issue where 'Run AWS Toolkit - Ultimate [2025.3]' was
still using ideaIC instead of ideaIU, causing Platform LSP modules
to be unavailable.

This is a bug fix for feadd1b.
val type = toolkitIntelliJ.ideFlavor.map { IntelliJPlatformType.fromCode(it.toString()) }
val type = toolkitIntelliJ.ideFlavor.map { flavor ->
// Starting with 2025.3, IntelliJ IDEA is unified (no separate Community edition)
if (version.get().startsWith("2025.3") && flavor == IdeFlavor.IC) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is jb gateway so we shouldnt be checking for these

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't gateway below in the else condition?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants