Author: vsiveton
Date: Sat Sep 27 16:25:32 2008
New Revision: 699757

URL: http://svn.apache.org/viewvc?rev=699757&view=rev
Log:
SCM-246: p4 command reports most or all errors on stderr but 
maven-scm-provider-perforce throws away stderr
Submitted by: Peter Janes

o applied

Modified:
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java?rev=699757&r1=699756&r2=699757&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
 Sat Sep 27 16:25:32 2008
@@ -34,6 +34,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.io.StringBufferInputStream;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -62,19 +63,20 @@
                 getLogger().debug( PerforceScmProvider.clean( "Executing " + 
cl.toString() ) );
             }
 
-            CommandLineUtils.StringStreamConsumer err = new 
CommandLineUtils.StringStreamConsumer();
-            int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, 
err );
+            PerforceScmProviderRepository prepo = 
(PerforceScmProviderRepository) repo;
+            String changes =
+                createChangeListSpecification( prepo, files, message,
+                                               
PerforceScmProvider.getRepoPath( getLogger(), prepo,
+                                               files.getBasedir() ), jobs );
 
             if ( getLogger().isDebugEnabled() )
             {
-                PerforceScmProviderRepository prepo = 
(PerforceScmProviderRepository) repo;
-                String changes =
-                    createChangeListSpecification( prepo, files, message,
-                                                   
PerforceScmProvider.getRepoPath( getLogger(), prepo,
-                                                                               
     files.getBasedir() ), jobs );
                 getLogger().debug( "Sending changelist:\n" + changes );
             }
 
+            CommandLineUtils.StringStreamConsumer err = new 
CommandLineUtils.StringStreamConsumer();
+            int exitCode = CommandLineUtils.executeCommandLine( cl, new 
StringBufferInputStream(changes), consumer, err );
+
             if ( exitCode != 0 )
             {
                 String cmdLine = CommandLineUtils.toString( 
cl.getCommandline() );

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java?rev=699757&r1=699756&r2=699757&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
 Sat Sep 27 16:25:32 2008
@@ -37,6 +37,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.StringBufferInputStream;
 
 /**
  * @author Mike Perham
@@ -90,14 +91,15 @@
                 getLogger().info( "Executing: " + PerforceScmProvider.clean( 
cl.toString() ) );
             }
 
+            String client = PerforceScmProvider.createClientspec( getLogger(), 
prepo, workingDirectory, actualLocation );
+
             if ( getLogger().isDebugEnabled() )
             {
-                String client = PerforceScmProvider.createClientspec( 
getLogger(), prepo, workingDirectory, actualLocation );
                 getLogger().debug( "Updating clientspec:\n" + client );
             }
 
             CommandLineUtils.StringStreamConsumer err = new 
CommandLineUtils.StringStreamConsumer();
-            int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, 
err );
+            int exitCode = CommandLineUtils.executeCommandLine( cl, new 
StringBufferInputStream(client), consumer, err );
 
             if ( exitCode != 0 )
             {

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java?rev=699757&r1=699756&r2=699757&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java
 Sat Sep 27 16:25:32 2008
@@ -35,6 +35,8 @@
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
+import java.io.StringBufferInputStream;
+
 /**
  * @author Mike Perham
  * @version $Id$
@@ -52,13 +54,14 @@
 
         try
         {
-            if ( StringUtils.isEmpty( repo.getPassword() ) )
+            String password = repo.getPassword();
+            if ( StringUtils.isEmpty( password ) )
             {
                 throw new ScmException( "password is required for the perforce 
scm plugin." );
             }
 
             CommandLineUtils.StringStreamConsumer err = new 
CommandLineUtils.StringStreamConsumer();
-            int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, 
err );
+            int exitCode = CommandLineUtils.executeCommandLine( cl, new 
StringBufferInputStream(password), consumer, err );
 
             if ( exitCode != 0 )
             {
@@ -91,4 +94,4 @@
         }
         return command;
     }
-}
\ No newline at end of file
+}


Reply via email to