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/05 04:31:06 UTC
svn commit: r366068 -
/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java
Author: brett
Date: Wed Jan 4 19:31:02 2006
New Revision: 366068
URL: http://svn.apache.org/viewcvs?rev=366068&view=rev
Log:
[WAGONSSH-33] Support -pw parameter for putty to use password directly
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=366068&r1=366067&r2=366068&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 Wed Jan 4 19:31:02 2006
@@ -85,6 +85,8 @@
private File privateKey;
+ private String password;
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
@@ -130,6 +132,10 @@
this.privateKey = privateKey;
}
}
+ else
+ {
+ this.password = authenticationInfo.getPassword();
+ }
// nothing to connect to
}
@@ -168,19 +174,13 @@
public void executeCommand( String command )
throws CommandExecutionException
{
- Commandline cl = new Commandline();
-
- cl.setExecutable( sshExecutable );
+ boolean putty = sshExecutable.indexOf( "plink" ) >= 0;
- if ( privateKey != null )
- {
- cl.createArgument().setValue( "-i" );
- cl.createArgument().setFile( privateKey );
- }
+ Commandline cl = createBaseCommandLine( putty, sshExecutable );
if ( port != WagonConstants.UNKNOWN_PORT )
{
- if ( sshExecutable.indexOf( "plink" ) >= 0 )
+ if ( putty )
{
cl.createArgument().setLine( "-P " + port );
}
@@ -190,17 +190,6 @@
}
}
- // should check interactive flag, but scpexe never works in interactive mode right now due to i/o streams
- if ( sshExecutable.indexOf( "plink" ) >= 0 )
- {
- cl.createArgument().setValue( "-batch" );
- }
- else
- {
- cl.createArgument().setValue( "-o" );
- cl.createArgument().setValue( "BatchMode yes" );
- }
-
if ( sshArgs != null )
{
cl.createArgument().setLine( sshArgs );
@@ -228,15 +217,11 @@
}
}
-
- private void executeScpCommand( File localFile, String remoteFile, boolean put )
- throws TransferFailedException, ResourceDoesNotExistException
+ private Commandline createBaseCommandLine( boolean putty, String executable )
{
Commandline cl = new Commandline();
- cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath() );
-
- cl.setExecutable( scpExecutable );
+ cl.setExecutable( executable );
if ( privateKey != null )
{
@@ -244,13 +229,14 @@
cl.createArgument().setFile( privateKey );
}
- if ( port != WagonConstants.UNKNOWN_PORT )
+ if ( putty && password != null )
{
- cl.createArgument().setLine( "-P " + port );
+ cl.createArgument().setValue( "-pw" );
+ cl.createArgument().setValue( password );
}
// should check interactive flag, but scpexe never works in interactive mode right now due to i/o streams
- if ( scpExecutable.indexOf( "pscp" ) >= 0 )
+ if ( putty )
{
cl.createArgument().setValue( "-batch" );
}
@@ -258,6 +244,23 @@
{
cl.createArgument().setValue( "-o" );
cl.createArgument().setValue( "BatchMode yes" );
+ }
+ return cl;
+ }
+
+
+ private void executeScpCommand( File localFile, String remoteFile, boolean put )
+ throws TransferFailedException, ResourceDoesNotExistException
+ {
+ boolean putty = scpExecutable.indexOf( "pscp" ) >= 0;
+
+ Commandline cl = createBaseCommandLine( putty, scpExecutable );
+
+ cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath() );
+
+ if ( port != WagonConstants.UNKNOWN_PORT )
+ {
+ cl.createArgument().setLine( "-P " + port );
}
if ( scpArgs != null )
---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org