Repository: maven-wagon Updated Branches: refs/heads/master af7aeffc4 -> 5a8a63f6c
[WAGON-465] Add ability to ignore errors sshexec errors on stderr and non zero exit code by introduce another execute method. No behavior changes on existing methods Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/5a8a63f6 Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/5a8a63f6 Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/5a8a63f6 Branch: refs/heads/master Commit: 5a8a63f6c425f0e572032a9ab64ae086047dfd88 Parents: af7aeff Author: trand8 <dan.t...@emc.com> Authored: Fri Oct 28 20:40:20 2016 -0700 Committer: trand8 <dan.t...@emc.com> Committed: Fri Oct 28 20:40:20 2016 -0700 ---------------------------------------------------------------------- .../providers/ssh/jsch/AbstractJschWagon.java | 26 +++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5a8a63f6/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java ---------------------------------------------------------------------- diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java index 9f51d90..8a9b4f3 100644 --- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java +++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java @@ -305,7 +305,7 @@ public abstract class AbstractJschWagon } } - public Streams executeCommand( String command, boolean ignoreFailures ) + public Streams executeCommand( String command, boolean ignoreStdErr, boolean ignoreNoneZeroExitCode ) throws CommandExecutionException { ChannelExec channel = null; @@ -330,9 +330,14 @@ public abstract class AbstractJschWagon stderrReader.close(); stderrReader = null; - if ( streams.getErr().length() > 0 && !ignoreFailures ) + int exitCode = channel.getExitStatus(); + if ( streams.getErr().length() > 0 && !ignoreStdErr ) + { + throw new CommandExecutionException( "Exit code: " + exitCode + " - " + streams.getErr() ); + } + + if ( exitCode != 0 && !ignoreNoneZeroExitCode ) { - int exitCode = channel.getExitStatus(); throw new CommandExecutionException( "Exit code: " + exitCode + " - " + streams.getErr() ); } @@ -397,9 +402,22 @@ public abstract class AbstractJschWagon { fireTransferDebug( "Executing command: " + command ); - executeCommand( command, false ); + //backward compatible with wagon 2.10 + executeCommand( command, false, true ); } + + public Streams executeCommand( String command, boolean ignoreError ) + throws CommandExecutionException + { + fireTransferDebug( "Executing command: " + command ); + + //backward compatible with wagon 2.10 + return executeCommand( command, ignoreError, ignoreError ); + } + + + public InteractiveUserInfo getInteractiveUserInfo() { return this.interactiveUserInfo;