You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2006/01/06 04:28:28 UTC
svn commit: r366406 -
/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java
Author: brett
Date: Thu Jan 5 19:28:25 2006
New Revision: 366406
URL: http://svn.apache.org/viewcvs?rev=366406&view=rev
Log:
ignore failures in chmod/chgrp to go with the -f flag.
Modified:
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java
Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java?rev=366406&r1=366405&r2=366406&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java Thu Jan 5 19:28:25 2006
@@ -86,6 +86,8 @@
private String password;
+ private static final int SSH_FATAL_EXIT_CODE = 255;
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
@@ -170,7 +172,7 @@
// nothing to disconnect
}
- public void executeCommand( String command )
+ public void executeCommand( String command, boolean ignoreFailures )
throws CommandExecutionException
{
boolean putty = sshExecutable.indexOf( "plink" ) >= 0;
@@ -203,11 +205,17 @@
try
{
+ CommandLineUtils.StringStreamConsumer out = new CommandLineUtils.StringStreamConsumer();
CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
- int exitCode = CommandLineUtils.executeCommandLine( cl, null, err );
+ int exitCode = CommandLineUtils.executeCommandLine( cl, out, err );
+ fireSessionDebug( out.getOutput() );
+ fireSessionDebug( err.getOutput() );
if ( exitCode != 0 )
{
- throw new CommandExecutionException( "Exit code " + exitCode + " - " + err.getOutput() );
+ if ( !ignoreFailures || exitCode == SSH_FATAL_EXIT_CODE )
+ {
+ throw new CommandExecutionException( "Exit code " + exitCode + " - " + err.getOutput() );
+ }
}
}
catch ( CommandLineException e )
@@ -346,7 +354,8 @@
if ( permissions != null && permissions.getGroup() != null )
{
- executeCommand( "chgrp -f " + permissions.getGroup() + " " + basedir + "/" + resourceName + "\n" );
+ executeCommand( "chgrp -f " + permissions.getGroup() + " " + basedir + "/" + resourceName + "\n",
+ true );
}
String fileMode = "644";
@@ -354,13 +363,19 @@
{
fileMode = permissions.getFileMode();
}
- executeCommand( "chmod -f " + fileMode + " " + basedir + "/" + resourceName + "\n" );
+ executeCommand( "chmod -f " + fileMode + " " + basedir + "/" + resourceName + "\n", true );
}
catch ( CommandExecutionException e )
{
throw new TransferFailedException( "Error executing command for transfer", e );
}
firePutCompleted( resource, source );
+ }
+
+ public void executeCommand( String command )
+ throws CommandExecutionException
+ {
+ executeCommand( command, false );
}
public void get( String resourceName, File destination )
---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org