@@ -58,9 +58,13 @@ public static String format(ExecuteResponseData result) {
5858 sb .append (formatStagesSummary (result ));
5959 sb .append (formatChangesSummary (result ));
6060
61- // Print error details if failed
62- if (result .isFailed () && result .getError () != null ) {
63- sb .append (formatErrorDetails (result .getError ()));
61+ // Print error details from failed stages
62+ if (result .isFailed ()) {
63+ for (StageResult stage : result .getStages ()) {
64+ if (stage .isFailed () && stage .getState ().getErrorInfo ().isPresent ()) {
65+ sb .append (formatErrorDetails (stage .getState ().getErrorInfo ().get ()));
66+ }
67+ }
6468 }
6569
6670 sb .append (SEPARATOR ).append ("\n " );
@@ -149,8 +153,9 @@ private static String formatStagesSummary(ExecuteResponseData result) {
149153 * Formats the changes summary line.
150154 */
151155 private static String formatChangesSummary (ExecuteResponseData result ) {
156+ int skipped = result .getAlreadyAppliedChanges () + result .getNotReachedChanges ();
152157 return String .format (" Changes: %d applied, %d skipped, %d failed%n" ,
153- result .getAppliedChanges (), result . getSkippedChanges () , result .getFailedChanges ());
158+ result .getAppliedChanges (), skipped , result .getFailedChanges ());
154159 }
155160
156161 /**
@@ -159,8 +164,8 @@ private static String formatChangesSummary(ExecuteResponseData result) {
159164 private static String formatErrorDetails (ErrorInfo error ) {
160165 StringBuilder sb = new StringBuilder ();
161166 sb .append ("\n Error:\n " );
162- if (error .getChangeId () != null ) {
163- sb .append (String .format (" Change : %s%n" , error .getChangeId ( )));
167+ if (error .getChangeIds () != null && ! error . getChangeIds (). isEmpty () ) {
168+ sb .append (String .format (" Changes : %s%n" , String . join ( ", " , error .getChangeIds () )));
164169 }
165170 if (error .getStageId () != null ) {
166171 sb .append (String .format (" Stage: %s%n" , error .getStageId ()));
0 commit comments