44package software.aws.toolkits.jetbrains.services.codemodernizer.controller
55
66import com.intellij.ide.BrowserUtil
7+ import com.intellij.openapi.application.ApplicationManager
78import com.intellij.openapi.application.runInEdt
89import com.intellij.openapi.fileChooser.FileChooser
910import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory
11+ import com.intellij.openapi.fileEditor.FileEditorManager
1012import com.intellij.openapi.module.ModuleUtil
1113import com.intellij.openapi.projectRoots.JavaSdkVersion
1214import com.intellij.openapi.projectRoots.ProjectJdkTable
1315import com.intellij.openapi.util.io.FileUtil.createTempDirectory
1416import com.intellij.openapi.vfs.VirtualFile
17+ import com.intellij.testFramework.LightVirtualFile
1518import kotlinx.coroutines.delay
1619import kotlinx.coroutines.runBlocking
1720import kotlinx.coroutines.withContext
21+ import org.jetbrains.yaml.YAMLFileType
1822import software.amazon.awssdk.services.codewhispererstreaming.model.TransformationDownloadArtifactType
1923import software.aws.toolkits.core.utils.debug
2024import software.aws.toolkits.core.utils.error
@@ -28,10 +32,8 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.ArtifactHandler
2832import software.aws.toolkits.jetbrains.services.codemodernizer.CodeModernizerManager
2933import software.aws.toolkits.jetbrains.services.codemodernizer.CodeModernizerManager.Companion.LOG
3034import software.aws.toolkits.jetbrains.services.codemodernizer.CodeTransformTelemetryManager
31- import software.aws.toolkits.jetbrains.services.codemodernizer.EXPLAINABILITY_V1
3235import software.aws.toolkits.jetbrains.services.codemodernizer.HilTelemetryMetaData
3336import software.aws.toolkits.jetbrains.services.codemodernizer.InboundAppMessagesHandler
34- import software.aws.toolkits.jetbrains.services.codemodernizer.SELECTIVE_TRANSFORMATION_V2
3537import software.aws.toolkits.jetbrains.services.codemodernizer.client.GumbyClient
3638import software.aws.toolkits.jetbrains.services.codemodernizer.commands.CodeTransformActionMessage
3739import software.aws.toolkits.jetbrains.services.codemodernizer.commands.CodeTransformCommand
@@ -76,6 +78,7 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildTr
7678import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildTransformStoppingChatContent
7779import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserCancelledChatContent
7880import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserHilSelection
81+ import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputCustomDependencyVersionsChatContent
7982import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputLanguageUpgradeChatContent
8083import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputSQLConversionMetadataChatContent
8184import software.aws.toolkits.jetbrains.services.codemodernizer.constants.buildUserInputSkipTestsFlagChatContent
@@ -89,6 +92,7 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.messages.Authenti
8992import software.aws.toolkits.jetbrains.services.codemodernizer.messages.CodeTransformChatMessage
9093import software.aws.toolkits.jetbrains.services.codemodernizer.messages.CodeTransformCommandMessage
9194import software.aws.toolkits.jetbrains.services.codemodernizer.messages.IncomingCodeTransformMessage
95+ import software.aws.toolkits.jetbrains.services.codemodernizer.model.CLIENT_SIDE_BUILD
9296import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeModernizerArtifact
9397import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeModernizerJobCompletedResult
9498import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeTransformConversationState
@@ -97,12 +101,14 @@ import software.aws.toolkits.jetbrains.services.codemodernizer.model.CodeTransfo
97101import software.aws.toolkits.jetbrains.services.codemodernizer.model.CustomerSelection
98102import software.aws.toolkits.jetbrains.services.codemodernizer.model.DownloadArtifactResult
99103import software.aws.toolkits.jetbrains.services.codemodernizer.model.DownloadFailureReason
104+ import software.aws.toolkits.jetbrains.services.codemodernizer.model.EXPLAINABILITY_V1
100105import software.aws.toolkits.jetbrains.services.codemodernizer.model.InvalidTelemetryReason
101106import software.aws.toolkits.jetbrains.services.codemodernizer.model.JobId
102107import software.aws.toolkits.jetbrains.services.codemodernizer.model.MAVEN_BUILD_RUN_UNIT_TESTS
103108import software.aws.toolkits.jetbrains.services.codemodernizer.model.MAVEN_BUILD_SKIP_UNIT_TESTS
104109import software.aws.toolkits.jetbrains.services.codemodernizer.model.MavenCopyCommandsResult
105110import software.aws.toolkits.jetbrains.services.codemodernizer.model.MavenDependencyReportCommandsResult
111+ import software.aws.toolkits.jetbrains.services.codemodernizer.model.SELECTIVE_TRANSFORMATION_V2
106112import software.aws.toolkits.jetbrains.services.codemodernizer.model.UploadFailureReason
107113import software.aws.toolkits.jetbrains.services.codemodernizer.model.ValidationResult
108114import software.aws.toolkits.jetbrains.services.codemodernizer.panels.managers.CodeModernizerBottomWindowPanelManager
@@ -412,14 +418,11 @@ class CodeTransformChatController(
412418 codeModernizerManager.codeTransformationSession?.let {
413419 it.sessionContext.customBuildCommand = customBuildCommand
414420 }
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 )
417422 codeModernizerManager.codeTransformationSession?.let {
418423 it.sessionContext.transformCapabilities = transformCapabilities
419- codeModernizerManager.runLocalMavenBuild(context.project, it)
420424 }
421- // TODO: when releasing CSB, delete "runLocalMavenBuild" line above and uncomment line below
422- // promptForCustomYamlFile()
425+ promptForCustomYamlFile()
423426 }
424427
425428 override suspend fun processCodeTransformCustomDependencyVersions (message : IncomingCodeTransformMessage .CodeTransformConfirmCustomDependencyVersions ) {
@@ -461,14 +464,11 @@ class CodeTransformChatController(
461464 }
462465 }
463466
464- // TODO: uncomment when releasing CSB
465- /*
466467 private suspend fun promptForCustomYamlFile () {
467468 codeTransformChatHelper.addNewMessage(buildUserInputCustomDependencyVersionsChatContent())
468469 val sampleYAML = """
469- name: "custom- dependency-management "
470+ name: "dependency-upgrade "
470471description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
471-
472472dependencyManagement:
473473 dependencies:
474474 - identifier: "com.example:library1"
@@ -479,18 +479,18 @@ dependencyManagement:
479479 targetVersion: "3.0.0"
480480 originType: "THIRD_PARTY"
481481 plugins:
482- - identifier: "com.example. plugin"
482+ - identifier: "com.example: plugin"
483483 targetVersion: "1.2.0"
484484 versionProperty: "plugin.version" # Optional
485485 """ .trimIndent()
486486
487- val virtualFile = LightVirtualFile("sample-dependency-management.yaml ", YAMLFileType.YML, sampleYAML)
487+ val virtualFile = LightVirtualFile (" dependency_upgrade.yml " , YAMLFileType .YML , sampleYAML)
488488 virtualFile.isWritable = true
489489 ApplicationManager .getApplication().invokeLater {
490490 FileEditorManager .getInstance(context.project).openFile(virtualFile, true )
491491 }
492492 }
493- */
493+
494494 override suspend fun processCodeTransformContinueAction (message : IncomingCodeTransformMessage .CodeTransformContinue ) {
495495 codeTransformChatHelper.addNewMessage(buildContinueTransformationChatContent())
496496 promptForTargetJdkName(message.tabId)
0 commit comments