@@ -17,8 +17,6 @@ import com.intellij.openapi.util.Key
1717import com.intellij.openapi.vfs.VirtualFile
1818import com.intellij.openapi.vfs.VirtualFileManager
1919import com.intellij.ui.content.impl.ContentImpl
20- import kotlinx.coroutines.delay
21- import software.aws.toolkits.jetbrains.services.amazonqCodeTest.cancellingProgressField
2220import software.aws.toolkits.jetbrains.services.amazonqCodeTest.controller.CodeTestChatHelper
2321import software.aws.toolkits.jetbrains.services.amazonqCodeTest.model.BuildAndExecuteStatusIcon
2422import software.aws.toolkits.jetbrains.services.amazonqCodeTest.session.BuildAndExecuteProgressStatus
@@ -29,33 +27,78 @@ import java.io.FileWriter
2927
3028fun constructBuildAndExecutionSummaryText (currentStatus : BuildAndExecuteProgressStatus , codeTestChatHelper : CodeTestChatHelper ): String {
3129 val progressMessages = mutableListOf<String >()
30+ if (currentStatus == BuildAndExecuteProgressStatus .RUN_BUILD ) {
31+ progressMessages.add(" ${BuildAndExecuteStatusIcon .WAIT .icon} ${" Project compiling\n " } " )
32+ }
33+
34+ if (currentStatus == BuildAndExecuteProgressStatus .RUN_EXECUTION_TESTS && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .FAILURE ) {
35+ progressMessages.add(" ${BuildAndExecuteStatusIcon .WAIT .icon} ${" Fixing test failures\n " } " )
36+ }
37+
38+ if (currentStatus > BuildAndExecuteProgressStatus .RUN_EXECUTION_TESTS && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .FAILURE ) {
39+ progressMessages.add(" ${BuildAndExecuteStatusIcon .DONE .icon} ${" Fixed test failures\n " } " )
40+ }
41+
42+ if (currentStatus >= BuildAndExecuteProgressStatus .RUN_EXECUTION_TESTS && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .SUCCESS ) {
43+ progressMessages.add(" ${BuildAndExecuteStatusIcon .DONE .icon} ${" Project compiled\n " } \$ {BuildAndExecuteStatusIcon.DONE.icon} ${" All tests passed\n " } " )
44+ }
45+ // TODO: Commenting out this code to do a better UX in the V2 version after science support
46+ /*
3247
3348 if (currentStatus >= BuildAndExecuteProgressStatus.RUN_BUILD) {
3449 val buildStatus = when (currentStatus) {
3550 BuildAndExecuteProgressStatus.RUN_BUILD -> "in progress"
3651 BuildAndExecuteProgressStatus.BUILD_FAILED -> "failed"
3752 else -> "complete"
3853 }
39- val icon = if (buildStatus == " in progress" ) BuildAndExecuteStatusIcon .WAIT .icon else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .SUCCESS ) BuildAndExecuteStatusIcon .DONE .icon else BuildAndExecuteStatusIcon .FAILED .icon
54+ val icon = if (buildStatus == "in progress") {
55+ BuildAndExecuteStatusIcon.WAIT.icon
56+ } else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
57+ BuildAndExecuteStatusIcon.DONE.icon
58+ } else {
59+ BuildAndExecuteStatusIcon.FAILED.icon
60+ }
4061 progressMessages.add(
4162 "$icon ${
42- if (buildStatus == " in progress" ) " Project compiling" else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .SUCCESS ) " Project compiled" else " Unable to compile project"
63+ if (buildStatus == "in progress") {
64+ "Project compiling"
65+ } else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
66+ "Project compiled"
67+ } else {
68+ "Unable to compile project"
69+ }
4370 }"
4471 )
4572 }
4673
4774 if (currentStatus >= BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS) {
48- val buildStatus = if (currentStatus == BuildAndExecuteProgressStatus .RUN_BUILD ) " Running tests" else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .SUCCESS ) " Tests passed" else " Tests failed"
49- val icon = if (buildStatus == " Running tests" ) BuildAndExecuteStatusIcon .WAIT .icon else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .SUCCESS ) BuildAndExecuteStatusIcon .DONE .icon else BuildAndExecuteStatusIcon .FAILED .icon
75+ val buildStatus = if (currentStatus == BuildAndExecuteProgressStatus.RUN_BUILD) {
76+ "Running tests"
77+ } else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
78+ "Tests passed"
79+ } else {
80+ "Tests failed"
81+ }
82+ val icon = if (buildStatus == "Running tests") {
83+ BuildAndExecuteStatusIcon.WAIT.icon
84+ } else if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.SUCCESS) {
85+ BuildAndExecuteStatusIcon.DONE.icon
86+ } else {
87+ BuildAndExecuteStatusIcon.FAILED.icon
88+ }
5089 progressMessages.add("$icon $buildStatus")
5190 }
5291
5392 if ((currentStatus >= BuildAndExecuteProgressStatus.BUILD_FAILED) && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.FAILURE) {
5493 val buildStatus = if (currentStatus == BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS) "Fixing" else "Fixed"
55- val icon = if (currentStatus == BuildAndExecuteProgressStatus .RUN_EXECUTION_TESTS ) BuildAndExecuteStatusIcon .WAIT .icon else BuildAndExecuteStatusIcon .DONE .icon
94+ val icon = if (currentStatus == BuildAndExecuteProgressStatus.RUN_EXECUTION_TESTS) {
95+ BuildAndExecuteStatusIcon.WAIT.icon
96+ } else {
97+ BuildAndExecuteStatusIcon.DONE.icon
98+ }
5699 progressMessages.add("$icon $buildStatus test failures")
57100 }
58-
101+ */
59102 if (currentStatus >= BuildAndExecuteProgressStatus .FIXING_TEST_CASES && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .FAILURE ) {
60103 progressMessages.add(" \n " )
61104 progressMessages.add(" **Results**" )
@@ -67,7 +110,7 @@ fun constructBuildAndExecutionSummaryText(currentStatus: BuildAndExecuteProgress
67110 return """
68111 Sure, This may take a few minutes and I'll update the progress here.
69112
70- **Progress summary**
113+ **Progress summary**\n
71114
72115 """ .trimIndent() + progressMessages.joinToString(" \n " )
73116}
@@ -79,7 +122,7 @@ fun runBuildOrTestCommand(
79122 isBuildCommand : Boolean ,
80123 buildAndExecuteTaskContext : BuildAndExecuteTaskContext ,
81124 testFileRelativePathToProjectRoot : String ,
82- codeTestChatHelper : CodeTestChatHelper
125+ codeTestChatHelper : CodeTestChatHelper ,
83126) {
84127 val brazilPath = " ${System .getProperty(" user.home" )} /.toolbox/bin:/usr/local/bin:/usr/bin:/bin:/sbin"
85128 if (localCommand.isEmpty()) {
@@ -161,7 +204,7 @@ fun runBuildOrTestCommand(
161204 // Check if the build has been cancelled
162205 if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .CANCELLED ) {
163206 processHandler.destroyProcess()
164- console.print (" \n Build cancelled by user\n " , ConsoleViewContentType .SYSTEM_OUTPUT )
207+ console.print (" \n Build cancelled by user\n " , ConsoleViewContentType .ERROR_OUTPUT )
165208 if (isBuildCommand) {
166209 buildAndExecuteTaskContext.buildExitCode = 1
167210 } else {
0 commit comments