Author: kenney
Date: Fri Jan 12 16:29:12 2007
New Revision: 495798

URL: http://svn.apache.org/viewvc?view=rev&rev=495798
Log:
Implement list command

Added:
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
   (with props)
Modified:
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml?view=diff&rev=495798&r1=495797&r2=495798
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml
 Fri Jan 12 16:29:12 2007
@@ -31,13 +31,13 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvstest</artifactId>
-      <version>1.0-beta-4</version>
+      <version>1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvs-commons</artifactId>
-      <version>1.0-beta-4</version>
+      <version>1.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java?view=diff&rev=495798&r1=495797&r2=495798
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java
 Fri Jan 12 16:29:12 2007
@@ -27,6 +27,7 @@
 import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.checkin.CvsExeCheckInCommand;
 import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.checkout.CvsExeCheckOutCommand;
 import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.diff.CvsExeDiffCommand;
+import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.list.CvsExeListCommand;
 import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.remove.CvsExeRemoveCommand;
 import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.status.CvsExeStatusCommand;
 import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.tag.CvsExeTagCommand;
@@ -62,6 +63,11 @@
     protected Command getDiffCommand()
     {
         return new CvsExeDiffCommand();
+    }
+
+    protected Command getListCommand()
+    {
+        return new CvsExeListCommand();
     }
 
     protected Command getLoginCommand()

Added: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java?view=auto&rev=495798
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
 (added)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
 Fri Jan 12 16:29:12 2007
@@ -0,0 +1,70 @@
+package org.apache.maven.scm.provider.cvslib.cvsexe.command.list;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.CommandParameters;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.list.ListScmResult;
+import org.apache.maven.scm.command.status.StatusScmResult;
+import org.apache.maven.scm.command.update.UpdateScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import 
org.apache.maven.scm.provider.cvslib.command.list.AbstractCvsListCommand;
+import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.status.CvsExeStatusCommand;
+import 
org.apache.maven.scm.provider.cvslib.cvsexe.command.status.CvsStatusConsumer;
+import org.codehaus.plexus.util.cli.CommandLineException;
+import org.codehaus.plexus.util.cli.CommandLineUtils;
+import org.codehaus.plexus.util.cli.Commandline;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]">Kenney Westerhof</a>
+ * @version $Id$
+ */
+public class CvsExeListCommand
+    extends AbstractCvsListCommand
+{
+    protected ListScmResult executeCvsCommand( Commandline cl )
+        throws ScmException
+    {
+        CvsStatusConsumer consumer = new CvsStatusConsumer( getLogger(), 
cl.getWorkingDirectory() );
+
+        CommandLineUtils.StringStreamConsumer stderr = new 
CommandLineUtils.StringStreamConsumer();
+
+        int exitCode;
+
+        try
+        {
+            exitCode = CommandLineUtils.executeCommandLine( cl, consumer, 
stderr );
+        }
+        catch ( CommandLineException ex )
+        {
+            throw new ScmException( "Error while executing command.", ex );
+        }
+
+        if ( exitCode != 0 )
+        {
+            return new ListScmResult( cl.toString(), "The cvs command 
failed.", stderr.getOutput(), false );
+        }
+
+        return new ListScmResult( cl.toString(), consumer.getChangedFiles() );
+
+    }
+}

Propchange: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"


Reply via email to