@@ -17,8 +17,6 @@ import com.intellij.openapi.util.Key
17
17
import com.intellij.openapi.vfs.VirtualFile
18
18
import com.intellij.openapi.vfs.VirtualFileManager
19
19
import com.intellij.ui.content.impl.ContentImpl
20
- import kotlinx.coroutines.delay
21
- import software.aws.toolkits.jetbrains.services.amazonqCodeTest.cancellingProgressField
22
20
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.controller.CodeTestChatHelper
23
21
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.model.BuildAndExecuteStatusIcon
24
22
import software.aws.toolkits.jetbrains.services.amazonqCodeTest.session.BuildAndExecuteProgressStatus
@@ -29,33 +27,78 @@ import java.io.FileWriter
29
27
30
28
fun constructBuildAndExecutionSummaryText (currentStatus : BuildAndExecuteProgressStatus , codeTestChatHelper : CodeTestChatHelper ): String {
31
29
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
+ /*
32
47
33
48
if (currentStatus >= BuildAndExecuteProgressStatus.RUN_BUILD) {
34
49
val buildStatus = when (currentStatus) {
35
50
BuildAndExecuteProgressStatus.RUN_BUILD -> "in progress"
36
51
BuildAndExecuteProgressStatus.BUILD_FAILED -> "failed"
37
52
else -> "complete"
38
53
}
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
+ }
40
61
progressMessages.add(
41
62
"$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
+ }
43
70
}"
44
71
)
45
72
}
46
73
47
74
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
+ }
50
89
progressMessages.add("$icon $buildStatus")
51
90
}
52
91
53
92
if ((currentStatus >= BuildAndExecuteProgressStatus.BUILD_FAILED) && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus.FAILURE) {
54
93
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
+ }
56
99
progressMessages.add("$icon $buildStatus test failures")
57
100
}
58
-
101
+ */
59
102
if (currentStatus >= BuildAndExecuteProgressStatus .FIXING_TEST_CASES && codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .FAILURE ) {
60
103
progressMessages.add(" \n " )
61
104
progressMessages.add(" **Results**" )
@@ -67,7 +110,7 @@ fun constructBuildAndExecutionSummaryText(currentStatus: BuildAndExecuteProgress
67
110
return """
68
111
Sure, This may take a few minutes and I'll update the progress here.
69
112
70
- **Progress summary**
113
+ **Progress summary**\n
71
114
72
115
""" .trimIndent() + progressMessages.joinToString(" \n " )
73
116
}
@@ -79,7 +122,7 @@ fun runBuildOrTestCommand(
79
122
isBuildCommand : Boolean ,
80
123
buildAndExecuteTaskContext : BuildAndExecuteTaskContext ,
81
124
testFileRelativePathToProjectRoot : String ,
82
- codeTestChatHelper : CodeTestChatHelper
125
+ codeTestChatHelper : CodeTestChatHelper ,
83
126
) {
84
127
val brazilPath = " ${System .getProperty(" user.home" )} /.toolbox/bin:/usr/local/bin:/usr/bin:/bin:/sbin"
85
128
if (localCommand.isEmpty()) {
@@ -161,7 +204,7 @@ fun runBuildOrTestCommand(
161
204
// Check if the build has been cancelled
162
205
if (codeTestChatHelper.getActiveSession().buildStatus == BuildStatus .CANCELLED ) {
163
206
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 )
165
208
if (isBuildCommand) {
166
209
buildAndExecuteTaskContext.buildExitCode = 1
167
210
} else {
0 commit comments