diff --git a/.run/Run AWS Toolkit - Community [2025.1].run.xml b/.run/Run AWS Toolkit - Community [2025.1].run.xml
new file mode 100644
index 0000000000..200a1e02e8
--- /dev/null
+++ b/.run/Run AWS Toolkit - Community [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run AWS Toolkit - Gateway [2025.1].run.xml b/.run/Run AWS Toolkit - Gateway [2025.1].run.xml
new file mode 100644
index 0000000000..2cdd898805
--- /dev/null
+++ b/.run/Run AWS Toolkit - Gateway [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run AWS Toolkit - Rider [2025.1].run.xml b/.run/Run AWS Toolkit - Rider [2025.1].run.xml
new file mode 100644
index 0000000000..0f30c49b47
--- /dev/null
+++ b/.run/Run AWS Toolkit - Rider [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run AWS Toolkit - Ultimate [2025.1].run.xml b/.run/Run AWS Toolkit - Ultimate [2025.1].run.xml
new file mode 100644
index 0000000000..b82db34913
--- /dev/null
+++ b/.run/Run AWS Toolkit - Ultimate [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run All - Community [2025.1].run.xml b/.run/Run All - Community [2025.1].run.xml
new file mode 100644
index 0000000000..159dda9b49
--- /dev/null
+++ b/.run/Run All - Community [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run All - Rider [2025.1].run.xml b/.run/Run All - Rider [2025.1].run.xml
new file mode 100644
index 0000000000..2ccae6c621
--- /dev/null
+++ b/.run/Run All - Rider [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run All - Ultimate [2025.1].run.xml b/.run/Run All - Ultimate [2025.1].run.xml
new file mode 100644
index 0000000000..710bbee512
--- /dev/null
+++ b/.run/Run All - Ultimate [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run Amazon Q - Community [2025.1].run.xml b/.run/Run Amazon Q - Community [2025.1].run.xml
new file mode 100644
index 0000000000..e9db2d9ab8
--- /dev/null
+++ b/.run/Run Amazon Q - Community [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run Amazon Q - Rider [2025.1].run.xml b/.run/Run Amazon Q - Rider [2025.1].run.xml
new file mode 100644
index 0000000000..78007f2524
--- /dev/null
+++ b/.run/Run Amazon Q - Rider [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/Run Amazon Q - Ultimate [2024.1].run.xml b/.run/Run Amazon Q - Ultimate [2024.1].run.xml
index bae51e0465..4296908019 100644
--- a/.run/Run Amazon Q - Ultimate [2024.1].run.xml
+++ b/.run/Run Amazon Q - Ultimate [2024.1].run.xml
@@ -22,4 +22,4 @@
false
-
+
\ No newline at end of file
diff --git a/.run/Run Amazon Q - Ultimate [2025.1].run.xml b/.run/Run Amazon Q - Ultimate [2025.1].run.xml
new file mode 100644
index 0000000000..bf7ba33b0d
--- /dev/null
+++ b/.run/Run Amazon Q - Ultimate [2025.1].run.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/generateConfigs.py b/.run/generateConfigs.py
index d72a35612e..8d595fd3a4 100644
--- a/.run/generateConfigs.py
+++ b/.run/generateConfigs.py
@@ -52,7 +52,7 @@ def write_config(mv: str, ide: IdeVariant, plugin: PluginVariant):
f.write(TEMPLATE.format(plugin = plugin, variant = ide, major_version = mv))
if __name__ == '__main__':
- mvs = ["2024.1", "2024.2", "2024.3"]
+ mvs = ["2024.1", "2024.2", "2024.3", "2025.1"]
ides = [
IdeVariant("Community", "IC"),
IdeVariant("Rider", "RD"),
diff --git a/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt b/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt
index 880b417200..84c520c9b1 100644
--- a/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt
+++ b/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt
@@ -33,6 +33,7 @@ fun Project.kotlinTarget(): Provider = withCurrentProfileName {
when (it) {
"2023.3", "2024.1", "2024.2" -> KotlinVersionEnum.KOTLIN_1_9
"2024.3" -> KotlinVersionEnum.KOTLIN_2_0
+ "2025.1" -> KotlinVersionEnum.KOTLIN_2_1
else -> error("not set")
}.version
}
diff --git a/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/intellij/IdeVersions.kt b/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/intellij/IdeVersions.kt
index 491c385257..b5e76d4c64 100644
--- a/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/intellij/IdeVersions.kt
+++ b/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/intellij/IdeVersions.kt
@@ -180,7 +180,47 @@ object IdeVersions {
nugetVersion = " 2024.3.0"
)
),
-
+ Profile(
+ name = "2025.1",
+ gateway = ProductProfile(
+ sdkVersion = "251.14649-EAP-CANDIDATE-SNAPSHOT",
+ bundledPlugins = listOf("org.jetbrains.plugins.terminal")
+ ),
+ community = ProductProfile(
+ sdkVersion = "251.14649-EAP-CANDIDATE-SNAPSHOT",
+ bundledPlugins = commonPlugins + listOf(
+ "com.intellij.java",
+ "com.intellij.gradle",
+ "org.jetbrains.idea.maven",
+ ),
+ marketplacePlugins = listOf(
+ "org.toml.lang:251.14649.45",
+ "PythonCore:251.14649.49",
+ "Docker:251.14649.49"
+ )
+ ),
+ ultimate = ProductProfile(
+ sdkVersion = "251.14649-EAP-CANDIDATE-SNAPSHOT",
+ bundledPlugins = commonPlugins + listOf(
+ "JavaScript",
+ "JavaScriptDebugger",
+ "com.intellij.database",
+ "com.jetbrains.codeWithMe",
+ ),
+ marketplacePlugins = listOf(
+ "org.toml.lang:251.14649.45",
+ "Pythonid:251.14649.49",
+ "org.jetbrains.plugins.go:251.14649.49",
+ )
+ ),
+ rider = RiderProfile(
+ sdkVersion = "2025.1-EAP1-SNAPSHOT",
+ bundledPlugins = commonPlugins,
+ netFrameworkTarget = "net472",
+ rdGenVersion = "2024.3.1",
+ nugetVersion = " 2025.1.0-eap01"
+ )
+ ),
).associateBy { it.name }
fun ideProfile(project: Project): Profile = ideProfile(project.providers).get()
diff --git a/kotlinResolution.settings.gradle.kts b/kotlinResolution.settings.gradle.kts
index 8fffe64fa0..cf5ce3351f 100644
--- a/kotlinResolution.settings.gradle.kts
+++ b/kotlinResolution.settings.gradle.kts
@@ -14,7 +14,7 @@ dependencyResolutionManagement {
"1.8.0-intellij-9"
}
- "2024.3" -> {
+ "2024.3", "2025.1" -> {
"1.8.0-intellij-11"
}
diff --git a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/gettingstarted/QGettingStartedPanel.kt b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/gettingstarted/QGettingStartedPanel.kt
index 937c4b483e..68a55b90b8 100644
--- a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/gettingstarted/QGettingStartedPanel.kt
+++ b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/gettingstarted/QGettingStartedPanel.kt
@@ -8,9 +8,8 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Disposer
import com.intellij.ui.components.JBTextArea
import com.intellij.ui.components.panels.Wrapper
+import com.intellij.ui.dsl.builder.Align
import com.intellij.ui.dsl.builder.panel
-import com.intellij.ui.dsl.gridLayout.HorizontalAlign
-import com.intellij.ui.dsl.gridLayout.VerticalAlign
import software.aws.toolkits.jetbrains.utils.isQWebviewsAvailable
class QGettingStartedPanel(
@@ -23,8 +22,7 @@ class QGettingStartedPanel(
val component = panel {
row {
cell(webviewContainer)
- .horizontalAlign(HorizontalAlign.FILL)
- .verticalAlign(VerticalAlign.FILL)
+ .align(Align.FILL)
}.resizableRow()
}
diff --git a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt
index b378b15178..396057bc9a 100644
--- a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt
+++ b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQPanel.kt
@@ -8,9 +8,10 @@ import com.intellij.openapi.Disposable
import com.intellij.openapi.util.Disposer
import com.intellij.ui.components.JBTextArea
import com.intellij.ui.components.panels.Wrapper
+import com.intellij.ui.dsl.builder.Align
+import com.intellij.ui.dsl.builder.AlignX
+import com.intellij.ui.dsl.builder.AlignY
import com.intellij.ui.dsl.builder.panel
-import com.intellij.ui.dsl.gridLayout.HorizontalAlign
-import com.intellij.ui.dsl.gridLayout.VerticalAlign
import com.intellij.ui.jcef.JBCefApp
import software.aws.toolkits.jetbrains.isDeveloperMode
import software.aws.toolkits.jetbrains.services.amazonq.webview.Browser
@@ -25,8 +26,7 @@ class AmazonQPanel(private val parent: Disposable) {
val component = panel {
row {
cell(webviewContainer)
- .horizontalAlign(HorizontalAlign.FILL)
- .verticalAlign(VerticalAlign.FILL)
+ .align(Align.FILL)
}.resizableRow()
// Button to show the web debugger for debugging the UI:
@@ -44,8 +44,8 @@ class AmazonQPanel(private val parent: Disposable) {
)
},
)
- .horizontalAlign(HorizontalAlign.CENTER)
- .verticalAlign(VerticalAlign.BOTTOM)
+ .align(AlignX.CENTER)
+ .align(AlignY.BOTTOM)
}
}
}
diff --git a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererCustomizationDialog.kt b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererCustomizationDialog.kt
index a05ed37b92..eedff33e2c 100644
--- a/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererCustomizationDialog.kt
+++ b/plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererCustomizationDialog.kt
@@ -12,6 +12,7 @@ import com.intellij.openapi.ui.DialogWrapper
import com.intellij.ui.ColoredListCellRenderer
import com.intellij.ui.SimpleTextAttributes
import com.intellij.ui.components.JBRadioButton
+import com.intellij.ui.dsl.builder.AlignX
import com.intellij.ui.dsl.builder.Cell
import com.intellij.ui.dsl.builder.Row
import com.intellij.ui.dsl.builder.TopGap
@@ -21,7 +22,6 @@ import com.intellij.ui.dsl.builder.bindItem
import com.intellij.ui.dsl.builder.panel
import com.intellij.ui.dsl.builder.selected
import com.intellij.ui.dsl.builder.toNullableProperty
-import com.intellij.ui.dsl.gridLayout.HorizontalAlign
import software.amazon.awssdk.arns.Arn
import software.aws.toolkits.core.utils.debug
import software.aws.toolkits.core.utils.getLogger
@@ -218,7 +218,7 @@ class CodeWhispererCustomizationDialog(
}
.bindItem(prop = modal::selectedCustomization.toNullableProperty())
.enabledIf(customizationButton.selected)
- .horizontalAlign(HorizontalAlign.FILL)
+ .align(AlignX.FILL)
}
}
}.bind(modal::selectedOption)
diff --git a/plugins/amazonq/codewhisperer/jetbrains-ultimate/src-241-243/compat/com/intellij/lang/javascript/JavascriptLanguage.kt b/plugins/amazonq/codewhisperer/jetbrains-ultimate/src-241-243/compat/com/intellij/lang/javascript/JavascriptLanguage.kt
new file mode 100644
index 0000000000..01df0ac764
--- /dev/null
+++ b/plugins/amazonq/codewhisperer/jetbrains-ultimate/src-241-243/compat/com/intellij/lang/javascript/JavascriptLanguage.kt
@@ -0,0 +1,6 @@
+// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+package compat.com.intellij.lang.javascript
+
+val JavascriptLanguage = com.intellij.lang.javascript.JavascriptLanguage.INSTANCE
diff --git a/plugins/amazonq/codewhisperer/jetbrains-ultimate/src-251+/compat/com/intellij/lang/javascript/JavascriptLanguage.kt b/plugins/amazonq/codewhisperer/jetbrains-ultimate/src-251+/compat/com/intellij/lang/javascript/JavascriptLanguage.kt
new file mode 100644
index 0000000000..10ddc6c54f
--- /dev/null
+++ b/plugins/amazonq/codewhisperer/jetbrains-ultimate/src-251+/compat/com/intellij/lang/javascript/JavascriptLanguage.kt
@@ -0,0 +1,6 @@
+// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+package compat.com.intellij.lang.javascript
+
+val JavascriptLanguage = com.intellij.lang.javascript.JavascriptLanguage
diff --git a/plugins/amazonq/codewhisperer/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/codewhisperer/importadder/CodeWhispererJSImportAdder.kt b/plugins/amazonq/codewhisperer/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/codewhisperer/importadder/CodeWhispererJSImportAdder.kt
index 7031270072..e0248d5d36 100644
--- a/plugins/amazonq/codewhisperer/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/codewhisperer/importadder/CodeWhispererJSImportAdder.kt
+++ b/plugins/amazonq/codewhisperer/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/codewhisperer/importadder/CodeWhispererJSImportAdder.kt
@@ -4,7 +4,6 @@
package software.aws.toolkits.jetbrains.services.codewhisperer.importadder
import com.intellij.lang.ecmascript6.psi.ES6ImportDeclaration
-import com.intellij.lang.javascript.JavascriptLanguage
import com.intellij.lang.javascript.psi.JSBlockStatement
import com.intellij.lang.javascript.psi.JSFile
import com.intellij.openapi.editor.Editor
@@ -12,6 +11,7 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile
import com.intellij.psi.PsiFileFactory
import com.intellij.psi.util.PsiTreeUtil
+import compat.com.intellij.lang.javascript.JavascriptLanguage
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJavaScript
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJsx
@@ -25,7 +25,7 @@ class CodeWhispererJSImportAdder : CodeWhispererImportAdder() {
override fun createNewImportPsiElement(psiFile: PsiFile, statement: String): PsiElement? {
val fileFactory = PsiFileFactory.getInstance(psiFile.project)
- val dummyFile = fileFactory.createFileFromText(dummyFileName, JavascriptLanguage.INSTANCE, statement)
+ val dummyFile = fileFactory.createFileFromText(dummyFileName, JavascriptLanguage, statement)
as? JSFile ?: return null
return dummyFile.children.find { it is ES6ImportDeclaration }
}
diff --git a/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/sso/bearer/ConfirmUserCodeLoginDialog.kt b/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/sso/bearer/ConfirmUserCodeLoginDialog.kt
index 38df41ad8a..7d343ea269 100644
--- a/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/sso/bearer/ConfirmUserCodeLoginDialog.kt
+++ b/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/sso/bearer/ConfirmUserCodeLoginDialog.kt
@@ -13,8 +13,8 @@ import com.intellij.openapi.editor.colors.EditorColorsUtil
import com.intellij.openapi.ide.CopyPasteManager
import com.intellij.openapi.ui.DialogWrapper
import com.intellij.ui.components.JBLabel
+import com.intellij.ui.dsl.builder.AlignX
import com.intellij.ui.dsl.builder.panel
-import com.intellij.ui.dsl.gridLayout.HorizontalAlign
import com.intellij.util.ui.JBFont
import com.intellij.util.ui.components.BorderLayoutPanel
import software.aws.toolkits.core.utils.tryOrNull
@@ -48,7 +48,7 @@ class ConfirmUserCodeLoginDialog(
)
addToRight(ActionButton(action, action.templatePresentation.clone(), ActionPlaces.UNKNOWN, ActionToolbar.NAVBAR_MINIMUM_BUTTON_SIZE))
}
- ).horizontalAlign(HorizontalAlign.CENTER)
+ ).align(AlignX.CENTER)
}
}