You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/05/28 10:41:59 UTC

svn commit: r660862 - /maven/plugins/trunk/maven-stage-plugin/src/main/java/org/apache/maven/plugins/stage/DefaultRepositoryCopier.java

Author: brett
Date: Wed May 28 01:41:59 2008
New Revision: 660862

URL: http://svn.apache.org/viewvc?rev=660862&view=rev
Log:
[MSTAGE-3] make the stage plugin work with all scp wagons
Submitted by: Rahul Akolkar

Modified:
    maven/plugins/trunk/maven-stage-plugin/src/main/java/org/apache/maven/plugins/stage/DefaultRepositoryCopier.java

Modified: maven/plugins/trunk/maven-stage-plugin/src/main/java/org/apache/maven/plugins/stage/DefaultRepositoryCopier.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-stage-plugin/src/main/java/org/apache/maven/plugins/stage/DefaultRepositoryCopier.java?rev=660862&r1=660861&r2=660862&view=diff
==============================================================================
--- maven/plugins/trunk/maven-stage-plugin/src/main/java/org/apache/maven/plugins/stage/DefaultRepositoryCopier.java (original)
+++ maven/plugins/trunk/maven-stage-plugin/src/main/java/org/apache/maven/plugins/stage/DefaultRepositoryCopier.java Wed May 28 01:41:59 2008
@@ -24,6 +24,8 @@
 import org.apache.maven.artifact.repository.metadata.Metadata;
 import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
 import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
+import org.apache.maven.wagon.CommandExecutor;
+import org.apache.maven.wagon.CommandExecutionException;
 import org.apache.maven.wagon.ConnectionException;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 import org.apache.maven.wagon.TransferFailedException;
@@ -33,7 +35,6 @@
 import org.apache.maven.wagon.authentication.AuthenticationException;
 import org.apache.maven.wagon.authentication.AuthenticationInfo;
 import org.apache.maven.wagon.authorization.AuthorizationException;
-import org.apache.maven.wagon.providers.ssh.jsch.ScpWagon;
 import org.apache.maven.wagon.repository.Repository;
 import org.codehaus.plexus.logging.LogEnabled;
 import org.codehaus.plexus.logging.Logger;
@@ -146,6 +147,13 @@
         logger.info( "Downloading metadata from the target repository." );
 
         Wagon targetWagon = wagonManager.getWagon( targetRepository );
+
+        if ( ! ( targetWagon instanceof CommandExecutor ) )
+        {
+            throw new CommandExecutionException( "Wagon class '" + targetWagon.getClass().getName() +
+                "' in use for target repository is not a CommandExecutor" );
+        }
+
         AuthenticationInfo targetAuth = wagonManager.getAuthenticationInfo( targetRepository.getId() );
 
         targetWagon.connect( targetRepository, targetAuth );
@@ -249,25 +257,25 @@
 
         String command = "unzip -o -qq -d " + targetRepoBaseDirectory + " " + targetRepoBaseDirectory + "/" + fileName;
 
-        ( (ScpWagon) targetWagon ).executeCommand( command );
+        ( (CommandExecutor) targetWagon ).executeCommand( command );
 
         logger.info( "Deleting zip file from the target repository." );
 
         command = "rm -f " + targetRepoBaseDirectory + "/" + fileName;
 
-        ( (ScpWagon) targetWagon ).executeCommand( command );
+        ( (CommandExecutor) targetWagon ).executeCommand( command );
 
         logger.info( "Running rename script on the target machine." );
 
         command = "cd " + targetRepoBaseDirectory + "; sh " + renameScriptName;
 
-        ( (ScpWagon) targetWagon ).executeCommand( command );
+        ( (CommandExecutor) targetWagon ).executeCommand( command );
 
         logger.info( "Deleting rename script from the target repository." );
 
         command = "rm -f " + targetRepoBaseDirectory + "/" + renameScriptName;
 
-        ( (ScpWagon) targetWagon ).executeCommand( command );
+        ( (CommandExecutor) targetWagon ).executeCommand( command );
 
         targetWagon.disconnect();
     }