4
4
package software.aws.toolkits.jetbrains.services.codemodernizer.controller
5
5
6
6
import com.intellij.ide.BrowserUtil
7
+ import com.intellij.openapi.application.ApplicationManager
7
8
import com.intellij.openapi.application.runInEdt
8
9
import com.intellij.openapi.fileChooser.FileChooser
9
10
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory
11
+ import com.intellij.openapi.fileEditor.FileEditorManager
10
12
import com.intellij.openapi.module.ModuleUtil
11
13
import com.intellij.openapi.projectRoots.JavaSdkVersion
12
14
import com.intellij.openapi.projectRoots.ProjectJdkTable
13
15
import com.intellij.openapi.util.io.FileUtil.createTempDirectory
14
16
import com.intellij.openapi.vfs.VirtualFile
17
+ import com.intellij.testFramework.LightVirtualFile
15
18
import kotlinx.coroutines.delay
16
19
import kotlinx.coroutines.runBlocking
17
20
import kotlinx.coroutines.withContext
21
+ import org.jetbrains.yaml.YAMLFileType
18
22
import software.amazon.awssdk.services.codewhispererstreaming.model.TransformationDownloadArtifactType
19
23
import software.aws.toolkits.core.utils.debug
20
24
import software.aws.toolkits.core.utils.error
@@ -28,10 +32,8 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.ArtifactHandler
28
32
import software.aws.toolkits.jetbrains.services.codemodernizer.CodeModernizerManager
29
33
import software.aws.toolkits.jetbrains.services.codemodernizer.CodeModernizerManager.Companion.LOG
30
34
import software.aws.toolkits.jetbrains.services.codemodernizer.CodeTransformTelemetryManager
31
- import software.aws.toolkits.jetbrains.services.codemodernizer.EXPLAINABILITY_V1
32
35
import software.aws.toolkits.jetbrains.services.codemodernizer.HilTelemetryMetaData
33
36
import software.aws.toolkits.jetbrains.services.codemodernizer.InboundAppMessagesHandler
34
- import software.aws.toolkits.jetbrains.services.codemodernizer.SELECTIVE_TRANSFORMATION_V2
35
37
import software.aws.toolkits.jetbrains.services.codemodernizer.client.GumbyClient
36
38
import software.aws.toolkits.jetbrains.services.codemodernizer.commands.CodeTransformActionMessage
37
39
import software.aws.toolkits.jetbrains.services.codemodernizer.commands.CodeTransformCommand
@@ -76,6 +78,7 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildTr
76
78
import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildTransformStoppingChatContent
77
79
import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserCancelledChatContent
78
80
import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserHilSelection
81
+ import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputCustomDependencyVersionsChatContent
79
82
import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputLanguageUpgradeChatContent
80
83
import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputSQLConversionMetadataChatContent
81
84
import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputSkipTestsFlagChatContent
@@ -89,6 +92,7 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.messages.Authenti
89
92
import software.aws.toolkits.jetbrains.services.codemodernizer.messages.CodeTransformChatMessage
90
93
import software.aws.toolkits.jetbrains.services.codemodernizer.messages.CodeTransformCommandMessage
91
94
import software.aws.toolkits.jetbrains.services.codemodernizer.messages.IncomingCodeTransformMessage
95
+ import software.aws.toolkits.jetbrains.services.codemodernizer.model.CLIENT_SIDE_BUILD
92
96
import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeModernizerArtifact
93
97
import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeModernizerJobCompletedResult
94
98
import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeTransformConversationState
@@ -97,12 +101,14 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeTransfo
97
101
import software.aws.toolkits.jetbrains.services.codemodernizer.model.CustomerSelection
98
102
import software.aws.toolkits.jetbrains.services.codemodernizer.model.DownloadArtifactResult
99
103
import software.aws.toolkits.jetbrains.services.codemodernizer.model.DownloadFailureReason
104
+ import software.aws.toolkits.jetbrains.services.codemodernizer.model.EXPLAINABILITY_V1
100
105
import software.aws.toolkits.jetbrains.services.codemodernizer.model.InvalidTelemetryReason
101
106
import software.aws.toolkits.jetbrains.services.codemodernizer.model.JobId
102
107
import software.aws.toolkits.jetbrains.services.codemodernizer.model.MAVEN_BUILD_RUN_UNIT_TESTS
103
108
import software.aws.toolkits.jetbrains.services.codemodernizer.model.MAVEN_BUILD_SKIP_UNIT_TESTS
104
109
import software.aws.toolkits.jetbrains.services.codemodernizer.model.MavenCopyCommandsResult
105
110
import software.aws.toolkits.jetbrains.services.codemodernizer.model.MavenDependencyReportCommandsResult
111
+ import software.aws.toolkits.jetbrains.services.codemodernizer.model.SELECTIVE_TRANSFORMATION_V2
106
112
import software.aws.toolkits.jetbrains.services.codemodernizer.model.UploadFailureReason
107
113
import software.aws.toolkits.jetbrains.services.codemodernizer.model.ValidationResult
108
114
import software.aws.toolkits.jetbrains.services.codemodernizer.panels.managers.CodeModernizerBottomWindowPanelManager
@@ -412,14 +418,11 @@ class CodeTransformChatController(
412
418
codeModernizerManager.codeTransformationSession?.let {
413
419
it.sessionContext.customBuildCommand = customBuildCommand
414
420
}
415
- // TODO: add CLIENT_SIDE_BUILD below when releasing CSB
416
- val transformCapabilities = listOf (EXPLAINABILITY_V1 , SELECTIVE_TRANSFORMATION_V2 )
421
+ val transformCapabilities = listOf (EXPLAINABILITY_V1 , CLIENT_SIDE_BUILD , SELECTIVE_TRANSFORMATION_V2 )
417
422
codeModernizerManager.codeTransformationSession?.let {
418
423
it.sessionContext.transformCapabilities = transformCapabilities
419
- codeModernizerManager.runLocalMavenBuild(context.project, it)
420
424
}
421
- // TODO: when releasing CSB, delete "runLocalMavenBuild" line above and uncomment line below
422
- // promptForCustomYamlFile()
425
+ promptForCustomYamlFile()
423
426
}
424
427
425
428
override suspend fun processCodeTransformCustomDependencyVersions (message : IncomingCodeTransformMessage .CodeTransformConfirmCustomDependencyVersions ) {
@@ -461,14 +464,11 @@ class CodeTransformChatController(
461
464
}
462
465
}
463
466
464
- // TODO: uncomment when releasing CSB
465
- /*
466
467
private suspend fun promptForCustomYamlFile () {
467
468
codeTransformChatHelper.addNewMessage(buildUserInputCustomDependencyVersionsChatContent())
468
469
val sampleYAML = """
469
- name: "custom- dependency-management "
470
+ name: "dependency-upgrade "
470
471
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
471
-
472
472
dependencyManagement:
473
473
dependencies:
474
474
- identifier: "com.example:library1"
@@ -479,18 +479,18 @@ dependencyManagement:
479
479
targetVersion: "3.0.0"
480
480
originType: "THIRD_PARTY"
481
481
plugins:
482
- - identifier: "com.example. plugin"
482
+ - identifier: "com.example: plugin"
483
483
targetVersion: "1.2.0"
484
484
versionProperty: "plugin.version" # Optional
485
485
""" .trimIndent()
486
486
487
- val virtualFile = LightVirtualFile("sample-dependency-management.yaml ", YAMLFileType.YML, sampleYAML)
487
+ val virtualFile = LightVirtualFile (" dependency_upgrade.yml " , YAMLFileType .YML , sampleYAML)
488
488
virtualFile.isWritable = true
489
489
ApplicationManager .getApplication().invokeLater {
490
490
FileEditorManager .getInstance(context.project).openFile(virtualFile, true )
491
491
}
492
492
}
493
- */
493
+
494
494
override suspend fun processCodeTransformContinueAction (message : IncomingCodeTransformMessage .CodeTransformContinue ) {
495
495
codeTransformChatHelper.addNewMessage(buildContinueTransformationChatContent())
496
496
promptForTargetJdkName(message.tabId)
0 commit comments