diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 4e5d0a67b2f..ac545e52acd 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -17,7 +17,7 @@ jobs: generate_artifact_toolkit_standalone: strategy: matrix: - supported_versions: [ '2024.1', '2024.2', '2024.3' ] + supported_versions: [ '2024.1', '2024.2', '2024.3', '2025.1' ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 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 deleted file mode 100644 index 01df0ac764b..00000000000 --- a/plugins/amazonq/codewhisperer/jetbrains-ultimate/src-241-243/compat/com/intellij/lang/javascript/JavascriptLanguage.kt +++ /dev/null @@ -1,6 +0,0 @@ -// 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/core/jetbrains-ultimate/src-241-243/compat/com/intellij/lang/javascript/JavascriptLanguage.kt b/plugins/core/jetbrains-ultimate/src-241-243/compat/com/intellij/lang/javascript/JavascriptLanguage.kt new file mode 100644 index 00000000000..b8f5d196577 --- /dev/null +++ b/plugins/core/jetbrains-ultimate/src-241-243/compat/com/intellij/lang/javascript/JavascriptLanguage.kt @@ -0,0 +1,8 @@ +// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +package compat.com.intellij.lang.javascript + +// probably not necessary, but inline to avoid loading this through core classpath +inline val JavascriptLanguage + get() = 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/core/jetbrains-ultimate/src-251+/compat/com/intellij/lang/javascript/JavascriptLanguage.kt similarity index 100% rename from plugins/amazonq/codewhisperer/jetbrains-ultimate/src-251+/compat/com/intellij/lang/javascript/JavascriptLanguage.kt rename to plugins/core/jetbrains-ultimate/src-251+/compat/com/intellij/lang/javascript/JavascriptLanguage.kt diff --git a/plugins/toolkit/jetbrains-core/detekt-baseline-main.xml b/plugins/toolkit/jetbrains-core/detekt-baseline-main.xml index 97346c318de..9e778599ecd 100644 --- a/plugins/toolkit/jetbrains-core/detekt-baseline-main.xml +++ b/plugins/toolkit/jetbrains-core/detekt-baseline-main.xml @@ -2,7 +2,6 @@ - BannedImports:UploadFunctionContinueDialog.kt$import com.intellij.ui.layout.panel CommentWrapping:Attributes.kt$NullAttribute$/*Dynamo always expects the NUL field to contain true */ CommentWrapping:ConfigureMaxResultsAction.kt$ConfigureMaxResultsAction$/* popup */ CommentWrapping:ProjectFileBrowseListener.kt$/* infer disposable from UI context */ diff --git a/plugins/toolkit/jetbrains-core/detekt-baseline.xml b/plugins/toolkit/jetbrains-core/detekt-baseline.xml index fe04ee966cf..c387491187a 100644 --- a/plugins/toolkit/jetbrains-core/detekt-baseline.xml +++ b/plugins/toolkit/jetbrains-core/detekt-baseline.xml @@ -2,7 +2,6 @@ - BannedImports:UploadFunctionContinueDialog.kt$import com.intellij.ui.layout.panel CommentWrapping:Attributes.kt$NullAttribute$/*Dynamo always expects the NUL field to contain true */ CommentWrapping:ConfigureMaxResultsAction.kt$ConfigureMaxResultsAction$/* popup */ CommentWrapping:ProjectFileBrowseListener.kt$/* infer disposable from UI context */ diff --git a/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/execution/AwsConnectionExtension.kt b/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/execution/AwsConnectionExtension.kt index 0409317f5e2..5c8040e44f7 100644 --- a/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/execution/AwsConnectionExtension.kt +++ b/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/execution/AwsConnectionExtension.kt @@ -24,8 +24,7 @@ import software.aws.toolkits.jetbrains.core.execution.AwsCredentialInjectionOpti import software.aws.toolkits.jetbrains.core.region.AwsRegionProvider import software.aws.toolkits.resources.message import software.aws.toolkits.telemetry.AwsTelemetry -import software.aws.toolkits.telemetry.Result.Failed -import software.aws.toolkits.telemetry.Result.Succeeded +import software.aws.toolkits.telemetry.MetricResult class AwsConnectionRunConfigurationExtension> { fun addToTargetEnvironment(configuration: T, environment: MutableMap>, runtimeString: () -> String? = { null }) { @@ -60,9 +59,9 @@ class AwsConnectionRunConfigurationExtension> { val connection = getConnection(configuration, credentialConfiguration) environmentMutator(connection) - AwsTelemetry.injectCredentials(configuration.project, result = Succeeded, runtimeString = tryOrNull { runtimeString() }) + AwsTelemetry.injectCredentials(configuration.project, result = MetricResult.Succeeded, runtimeString = tryOrNull { runtimeString() }) } catch (e: Exception) { - AwsTelemetry.injectCredentials(configuration.project, result = Failed, runtimeString = tryOrNull { runtimeString() }) + AwsTelemetry.injectCredentials(configuration.project, result = MetricResult.Failed, runtimeString = tryOrNull { runtimeString() }) LOG.error(e) { message("run_configuration_extension.inject_aws_connection_exception") } } } diff --git a/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/sam/sync/SyncServerlessApplicationDialog.kt b/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/sam/sync/SyncServerlessApplicationDialog.kt index 236f54052b4..9f527d9772b 100644 --- a/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/sam/sync/SyncServerlessApplicationDialog.kt +++ b/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/sam/sync/SyncServerlessApplicationDialog.kt @@ -13,13 +13,13 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.ui.MutableCollectionComboBoxModel import com.intellij.ui.SimpleListCellRenderer import com.intellij.ui.components.JBTextField +import com.intellij.ui.dsl.builder.AlignX import com.intellij.ui.dsl.builder.actionListener import com.intellij.ui.dsl.builder.bind import com.intellij.ui.dsl.builder.bindSelected import com.intellij.ui.dsl.builder.bindText import com.intellij.ui.dsl.builder.panel import com.intellij.ui.dsl.builder.toMutableProperty -import com.intellij.ui.dsl.gridLayout.HorizontalAlign import com.intellij.ui.layout.selected import com.intellij.util.text.nullize import org.jetbrains.annotations.TestOnly @@ -182,7 +182,7 @@ class SyncServerlessApplicationDialog( } } cell(stackNameField) - .horizontalAlign(HorizontalAlign.FILL) + .align(AlignX.FILL) .enabledIf(createStackButton.component.selected) .bindText(::newStackName) .validationOnApply { field -> @@ -215,7 +215,7 @@ class SyncServerlessApplicationDialog( } stackSelector.reload(forceFetch = true) cell(stackSelector) - .horizontalAlign(HorizontalAlign.FILL) + .align(AlignX.FILL) .enabledIf(updateStackButton.component.selected) .errorOnApply(message("serverless.application.sync.validation.stack.missing")) { it.isEnabled && (it.isLoading || it.selected() == null) @@ -228,19 +228,19 @@ class SyncServerlessApplicationDialog( .withBinding(::templateParameters.toMutableProperty()) .validationOnApply { validateParameters(it, templateFileParameters) - }.horizontalAlign(HorizontalAlign.FILL) + }.align(AlignX.FILL) .component.toolTipText = message("serverless.application.sync.tooltip.template.parameters") } val tagsString = message("tags.title") row(tagsString) { cell(tagsField) - .horizontalAlign(HorizontalAlign.FILL) + .align(AlignX.FILL) .withBinding(::tags.toMutableProperty()) } row(message("serverless.application.sync.label.bucket")) { cell(s3BucketSelector) - .horizontalAlign(HorizontalAlign.FILL) + .align(AlignX.FILL) .errorOnApply(message("serverless.application.sync.validation.s3.bucket.empty")) { it.isLoading || it.selected() == null } .component.toolTipText = message("serverless.application.sync.tooltip.s3Bucket") @@ -262,7 +262,7 @@ class SyncServerlessApplicationDialog( row(message("serverless.application.sync.label.repo")) { cell(ecrRepoSelector) - .horizontalAlign(HorizontalAlign.FILL) + .align(AlignX.FILL) .errorOnApply(message("serverless.application.sync.validation.ecr.repo.empty")) { it.isVisible && (it.isLoading || it.selected() == null) }.component.toolTipText = message("serverless.application.sync.tooltip.ecrRepo") diff --git a/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/upload/UploadFunctionContinueDialog.kt b/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/upload/UploadFunctionContinueDialog.kt deleted file mode 100644 index faa2975ce01..00000000000 --- a/plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/upload/UploadFunctionContinueDialog.kt +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -package software.aws.toolkits.jetbrains.services.lambda.upload - -import com.intellij.openapi.project.Project -import com.intellij.openapi.ui.DialogWrapper -import com.intellij.ui.components.JBLabel -import com.intellij.ui.components.JBTextField -import com.intellij.ui.layout.panel -import software.aws.toolkits.resources.message -import javax.swing.JComponent - -// TODO we can add `Filter`s to the step executor which will allow us to take -// actions on certain text, so we can put it in the output window to click to continue -class UploadFunctionContinueDialog(private val project: Project, private val changeSet: String) : DialogWrapper(project) { - init { - super.init() - title = message("serverless.application.deploy.change_set.title") - setOKButtonText(message("serverless.application.deploy.execute_change_set")) - setCancelButtonText(message("general.close_button")) - } - - override fun createCenterPanel(): JComponent = panel { - row { - JBLabel(message("serverless.application.deploy.change_set"))() - JBTextField(changeSet).apply { this.isEditable = false }() - } - } -} diff --git a/plugins/toolkit/jetbrains-gateway/src/software/aws/toolkits/jetbrains/gateway/CawsConnectionProvider.kt b/plugins/toolkit/jetbrains-gateway/src/software/aws/toolkits/jetbrains/gateway/CawsConnectionProvider.kt index a4246f7a529..aecf74d2381 100644 --- a/plugins/toolkit/jetbrains-gateway/src/software/aws/toolkits/jetbrains/gateway/CawsConnectionProvider.kt +++ b/plugins/toolkit/jetbrains-gateway/src/software/aws/toolkits/jetbrains/gateway/CawsConnectionProvider.kt @@ -24,9 +24,9 @@ import com.intellij.openapi.util.Disposer import com.intellij.remoteDev.downloader.CodeWithMeClientDownloader import com.intellij.ui.components.JBTabbedPane 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.util.ui.JBFont import com.jetbrains.gateway.api.ConnectionRequestor import com.jetbrains.gateway.api.GatewayConnectionHandle @@ -325,7 +325,7 @@ class CawsConnectionProvider : GatewayConnectionProvider { setCenterPanel( panel { row { - icon(AllIcons.General.ErrorDialog).verticalAlign(VerticalAlign.TOP) + icon(AllIcons.General.ErrorDialog).align(AlignY.TOP) panel { row { @@ -344,7 +344,7 @@ class CawsConnectionProvider : GatewayConnectionProvider { collapsibleGroup(message("general.logs"), false) { row { cell(view) - .horizontalAlign(HorizontalAlign.FILL) + .align(AlignX.FILL) } }.expanded = false // TODO: can't seem to reliably force a terminal redraw on initial expand diff --git a/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsDebugSupport.kt b/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsDebugSupport.kt index 5032c784b3c..7e6913f9998 100644 --- a/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsDebugSupport.kt +++ b/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsDebugSupport.kt @@ -10,7 +10,6 @@ import com.intellij.execution.process.ProcessEvent import com.intellij.execution.runners.ExecutionEnvironment import com.intellij.javascript.debugger.LocalFileSystemFileFinder import com.intellij.javascript.debugger.RemoteDebuggingFileFinder -import com.intellij.lang.javascript.JavascriptLanguage import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.vfs.VirtualFile import com.intellij.xdebugger.XDebugProcess @@ -18,6 +17,7 @@ import com.intellij.xdebugger.XDebugProcessStarter import com.intellij.xdebugger.XDebugSession import com.jetbrains.debugger.wip.WipLocalVmConnection import com.jetbrains.nodeJs.NodeChromeDebugProcess +import compat.com.intellij.lang.javascript.JavascriptLanguage import org.jetbrains.io.LocalFileFinder import software.aws.toolkits.core.lambda.LambdaRuntime import software.aws.toolkits.jetbrains.services.PathMapping @@ -39,7 +39,7 @@ class NodeJsRuntimeDebugSupport : RuntimeDebugSupport { abstract class NodeJsImageDebugSupport : ImageDebugSupport { override fun supportsPathMappings(): Boolean = true - override val languageId = JavascriptLanguage.INSTANCE.id + override val languageId = JavascriptLanguage.id override suspend fun createDebugProcess( context: Context, environment: ExecutionEnvironment, diff --git a/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsRuntimeGroup.kt b/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsRuntimeGroup.kt index f85d544ec2d..46a036a334a 100644 --- a/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsRuntimeGroup.kt +++ b/plugins/toolkit/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/lambda/nodejs/NodeJsRuntimeGroup.kt @@ -5,12 +5,12 @@ package software.aws.toolkits.jetbrains.services.lambda.nodejs import com.intellij.javascript.nodejs.interpreter.NodeJsInterpreterManager import com.intellij.lang.javascript.JavaScriptSupportLoader -import com.intellij.lang.javascript.JavascriptLanguage import com.intellij.openapi.module.Module import com.intellij.openapi.module.ModuleType import com.intellij.openapi.module.WebModuleTypeBase import com.intellij.openapi.project.Project import com.intellij.openapi.projectRoots.Sdk +import compat.com.intellij.lang.javascript.JavascriptLanguage import software.aws.toolkits.core.lambda.LambdaRuntime import software.aws.toolkits.jetbrains.services.lambda.BuiltInRuntimeGroups import software.aws.toolkits.jetbrains.services.lambda.SdkBasedRuntimeGroup @@ -18,7 +18,7 @@ import software.aws.toolkits.jetbrains.services.lambda.SdkBasedRuntimeGroup class NodeJsRuntimeGroup : SdkBasedRuntimeGroup() { override val id: String = BuiltInRuntimeGroups.NodeJs override val languageIds: Set = setOf( - JavascriptLanguage.INSTANCE.id, + JavascriptLanguage.id, JavaScriptSupportLoader.ECMA_SCRIPT_6.id ) override val supportsPathMappings: Boolean = true diff --git a/ui-tests-starter/build.gradle.kts b/ui-tests-starter/build.gradle.kts index 32bca78feed..55fc9e3fed2 100644 --- a/ui-tests-starter/build.gradle.kts +++ b/ui-tests-starter/build.gradle.kts @@ -27,6 +27,15 @@ intellijPlatform { instrumentCode = false } +tasks.initializeIntellijPlatformPlugin { + enabled = false +} + +tasks.verifyPluginProjectConfiguration { + runtimeDirectory.set(null as File?) + enabled = false +} + val testPlugins by configurations.registering dependencies { @@ -34,7 +43,8 @@ dependencies { testImplementation("org.kodein.di:kodein-di-jvm:7.20.2") intellijPlatform { // shouldn't be needed? but IsolationException - intellijIdeaCommunity(ideProfile.community.sdkVersion) + val version = ideProfile.community.sdkVersion + intellijIdeaCommunity(version, !version.contains("SNAPSHOT")) testFramework(TestFrameworkType.Starter) }