[SCM-926] Maven SCM Jazz Provider should accept exit codes 52 and 53 on JazzTagCommand
This closes #91
diff --git a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommand.java b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommand.java
index 57bb3ba..b30a1fe 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommand.java
+++ b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommand.java
@@ -270,4 +270,11 @@
return clString;
}
+ /**
+ * Check if the exit status is meant to be an error:
+ * https://jazz.net/help-dev/clm/index.jsp?topic=%2Fcom.ibm.team.scm.doc%2Ftopics%2Fr_scm_cli_retcodes.html
+ */
+ public static boolean isCommandExitError(int status) {
+ return status != 0 && status != 52 && status != 53;
+ }
}
diff --git a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java
index 7cb7e5e..bca58f1 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java
@@ -89,7 +89,7 @@
createTagCreateSnapshotCommand( jazzRepo, fileSet, tag, scmTagParameters );
int status = tagCreateSnapshotCmd.execute( tagConsumer, errConsumer );
- if ( status != 0 )
+ if ( JazzScmCommand.isCommandExitError( status ) )
{
return new TagScmResult( tagCreateSnapshotCmd.getCommandString(),
"Error code for Jazz SCM tag (SNAPSHOT) command - " + status,
@@ -104,7 +104,7 @@
errConsumer = new ErrorConsumer( getLogger() );
status = tagCreateWorkspaceCmd.execute( tagConsumer, errConsumer );
- if ( status != 0 )
+ if ( JazzScmCommand.isCommandExitError( status ) )
{
return new TagScmResult( tagCreateWorkspaceCmd.getCommandString(),
"Error code for Jazz SCM tag (WORKSPACE) command - " + status,
@@ -122,7 +122,7 @@
JazzScmCommand tagDeliverCommand = createTagDeliverCommand( jazzRepo, fileSet, tag );
errConsumer = new ErrorConsumer( getLogger() );
status = tagDeliverCommand.execute( tagConsumer, errConsumer );
- if ( status != 0 )
+ if ( JazzScmCommand.isCommandExitError( status ) )
{
return new TagScmResult( tagDeliverCommand.getCommandString(),
"Error code for Jazz SCM deliver command - " + status, errConsumer.getOutput(),
@@ -134,7 +134,7 @@
JazzScmCommand tagSnapshotPromoteCommand = createTagSnapshotPromoteCommand( jazzRepo, fileSet, tag );
errConsumer = new ErrorConsumer( getLogger() );
status = tagSnapshotPromoteCommand.execute( tagConsumer, errConsumer );
- if ( status != 0 )
+ if ( JazzScmCommand.isCommandExitError( status ) )
{
return new TagScmResult( tagSnapshotPromoteCommand.getCommandString(),
"Error code for Jazz SCM snapshot promote command - " + status,