Skip to content

Commit 73778bc

Browse files
committed
Use correct 2025.3 EAP SDK version format
- Change to '253.25908-EAP-CANDIDATE-SNAPSHOT' from JetBrains snapshots repo - Based on senior engineer feedback and official snapshot repository - Should resolve IntelliJ Platform dependency resolution
1 parent de5df52 commit 73778bc

File tree

2 files changed

+115
-3
lines changed

2 files changed

+115
-3
lines changed

2025.3-support-issue.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Issue: Adding 2025.3 Support to AWS Toolkit for JetBrains
2+
3+
## Problem Summary
4+
Unable to resolve IntelliJ Platform dependencies when adding 2025.3 EAP support to the AWS Toolkit. Build fails with "No IntelliJ Platform dependency found" errors.
5+
6+
## Background
7+
- **Goal**: Add JetBrains 2025.3 EAP support to AWS Toolkit
8+
- **Branch**: `add-2025-3-support`
9+
- **Key Change**: JetBrains discontinued IC (Community Edition) for 2025.3, moved to unified platform
10+
11+
## Error Evolution
12+
1. **Initial**: `No IntelliJ Platform dependency found with 'IC-2025.3 (non-installer)'`
13+
2. **After IdeFlavor changes**: `No IntelliJ Platform dependency found with 'IU-2025.3 (non-installer)'`
14+
3. **After EAP format**: `No IntelliJ Platform dependency found with 'IU-2025.3-EAP-SNAPSHOT (non-installer)'`
15+
4. **Current**: `No IntelliJ Platform dependency found with 'IU-253.25908.13 (non-installer)'`
16+
17+
## What We've Tried
18+
19+
### 1. SDK Version Formats
20+
-`"2025.3"` → ❌ Doesn't exist for IC
21+
-`"253.25908.29"` → ❌ Complex build number approach
22+
-`"2025.3-EAP-SNAPSHOT"` → ❌ EAP snapshot format
23+
-`"253.25908.13"` → ❌ Specific IU build number
24+
25+
### 2. IdeFlavor Changes
26+
- ✅ Changed all `IdeFlavor.IC``IdeFlavor.IU` in:
27+
- `plugins/core/jetbrains-community/build.gradle.kts`
28+
- `plugins/amazonq/*/jetbrains-community/build.gradle.kts` (4 modules)
29+
- `plugins/toolkit/jetbrains-core/build.gradle.kts`
30+
- `buildSrc/src/main/kotlin/toolkit-intellij-plugin.gradle.kts` (default fallback)
31+
32+
### 3. Verification Steps
33+
- ✅ Confirmed `253.25908.13` exists in JetBrains EAP releases for IU
34+
- ✅ Updated marketplace plugin versions to matching build numbers
35+
- ✅ Rider kept as `2025.3-SNAPSHOT` (works fine)
36+
37+
## Senior Engineer Feedback ✅
38+
39+
### 1. SDK Version Solution
40+
**Correct format**: `253.25908-EAP-CANDIDATE-SNAPSHOT`
41+
- **Source**: https://www.jetbrains.com/intellij-repository/snapshots
42+
- **Issue**: We were using `253.25908.13` instead of the snapshot format
43+
44+
### 2. IdeFlavor Strategy
45+
**Need version-conditional logic**:
46+
```kotlin
47+
// For community builds, use version-based logic:
48+
when (version) {
49+
older_versions -> IdeFlavor.IC // Keep IC for older versions
50+
"2025.3"+ -> IdeFlavor.IU // Use IU for 2025.3+
51+
}
52+
```
53+
54+
### 3. Platform Coordinates (Advanced)
55+
**Alternative approach using Maven coordinates**:
56+
```kotlin
57+
// Instead of IdeFlavor, could use direct coordinates:
58+
IntellijIdeaUltimate(
59+
code = "IU",
60+
maven = Coordinates("com.jetbrains.intellij.idea", "ideaIU"),
61+
installer = Coordinates("idea", "ideaIU"),
62+
),
63+
IntellijIdea(
64+
code = "IU",
65+
maven = Coordinates("com.jetbrains.intellij.idea", "idea"),
66+
installer = Coordinates("idea", "idea"),
67+
)
68+
```
69+
**Translation**: This bypasses IdeFlavor and directly specifies Maven artifact coordinates
70+
71+
## Updated Configuration Needed
72+
```kotlin
73+
// IdeVersions.kt - CORRECTED
74+
Profile(
75+
name = "2025.3",
76+
gateway = ProductProfile(sdkVersion = "253.25908-EAP-CANDIDATE-SNAPSHOT", ...),
77+
community = ProductProfile(sdkVersion = "253.25908-EAP-CANDIDATE-SNAPSHOT", ...),
78+
ultimate = ProductProfile(sdkVersion = "253.25908-EAP-CANDIDATE-SNAPSHOT", ...),
79+
rider = RiderProfile(sdkVersion = "2025.3-SNAPSHOT", ...)
80+
)
81+
82+
// Version-conditional IdeFlavor logic needed:
83+
intellijToolkit {
84+
ideFlavor.set(
85+
if (version >= "2025.3") IdeFlavor.IU
86+
else IdeFlavor.IC
87+
)
88+
}
89+
```
90+
91+
## Remaining Questions
92+
93+
1. **Version Detection**: How to detect current IDE version in build script for conditional logic?
94+
2. **Maven Coordinates**: Should we implement the direct coordinates approach instead of IdeFlavor?
95+
3. **Backward Compatibility**: How to ensure older versions (2024.x) still work with IC?
96+
97+
## Repository State
98+
- **Fork**: `https://github.com/aseemxs/aws-toolkit-jetbrains.git`
99+
- **Branch**: `add-2025-3-support`
100+
- **Commits**: 7 commits attempting various fixes
101+
- **Status**: All changes pushed, ready for review
102+
103+
## References
104+
- [JetBrains Platform Gradle Plugin Docs](https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html)
105+
- [IntelliJ Platform Gradle Plugin 2.0 Blog](https://blog.jetbrains.com/platform/2024/07/intellij-platform-gradle-plugin-2-0/)
106+
- [IC Deprecation Discussion](https://platform.jetbrains.com/t/intellij-platform-gradle-plugins-intellijideacommunity-deprecation/2709)
107+
108+
## Next Steps Needed
109+
Senior engineer guidance on:
110+
1. Correct dependency resolution approach for 2025.3 EAP
111+
2. Whether our IdeFlavor mapping strategy is correct
112+
3. Any missing configuration or repository setup

buildSrc/src/main/kotlin/software/aws/toolkits/gradle/intellij/IdeVersions.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,11 @@ object IdeVersions {
156156
Profile(
157157
name = "2025.3",
158158
gateway = ProductProfile(
159-
sdkVersion = "253.25908.13",
159+
sdkVersion = "253.25908-EAP-CANDIDATE-SNAPSHOT",
160160
bundledPlugins = listOf("org.jetbrains.plugins.terminal")
161161
),
162162
community = ProductProfile(
163-
sdkVersion = "253.25908.13",
163+
sdkVersion = "253.25908-EAP-CANDIDATE-SNAPSHOT",
164164
bundledPlugins = commonPlugins + listOf(
165165
"com.intellij.java",
166166
"com.intellij.gradle",
@@ -176,7 +176,7 @@ object IdeVersions {
176176
)
177177
),
178178
ultimate = ProductProfile(
179-
sdkVersion = "253.25908.13",
179+
sdkVersion = "253.25908-EAP-CANDIDATE-SNAPSHOT",
180180
bundledPlugins = commonPlugins + listOf(
181181
"JavaScript",
182182
"JavaScriptDebugger",

0 commit comments

Comments
 (0)