Author: bodewig
Date: Thu Oct 16 07:39:24 2008
New Revision: 705256

URL: http://svn.apache.org/viewvc?rev=705256&view=rev
Log:
support modules with space in their names in <cvs> and <cvschangelog>, will be 
supported in <cvstagdiff> once PR 35301 is fixed.  PR 38220.

Added:
    ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/ant module 2/
    ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/ant module 
2/test.txt,v
Modified:
    ant/core/trunk/WHATSNEW
    ant/core/trunk/docs/manual/CoreTasks/changelog.html
    ant/core/trunk/docs/manual/CoreTasks/cvs.html
    ant/core/trunk/docs/manual/CoreTasks/cvstagdiff.html
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
    ant/core/trunk/src/tests/antunit/taskdefs/cvs/cvs.xml
    ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history

Modified: ant/core/trunk/WHATSNEW
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=705256&r1=705255&r2=705256&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Thu Oct 16 07:39:24 2008
@@ -456,6 +456,9 @@
  * <cvstagdiff> has an option to ignore removed files now.
    Bugzilla Report 26257.
 
+ * <cvs> and friends now support modules with spaces in their names
+   via nested <module> elements.
+
 Changes from Ant 1.7.0 TO Ant 1.7.1
 =============================================
 

Modified: ant/core/trunk/docs/manual/CoreTasks/changelog.html
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTasks/changelog.html?rev=705256&r1=705255&r2=705256&view=diff
==============================================================================
--- ant/core/trunk/docs/manual/CoreTasks/changelog.html (original)
+++ ant/core/trunk/docs/manual/CoreTasks/changelog.html Thu Oct 16 07:39:24 2008
@@ -59,7 +59,10 @@
   </tr>
   <tr>
     <td valign="top">package</td>
-    <td valign="top">the package/module to check out.</td>
+    <td valign="top">the package/module to check out.  <b>Note:</b>
+      multiple attributes can be split using spaces.  Use a nested
+      &lt;module&gt; element if you want to specify a module with
+      spaces in its name.</td>
     <td align="center" valign="top">No</td>
   </tr>
   <tr>
@@ -153,6 +156,24 @@
   </tr>
 </table>
 
+<h4>module</h4>
+
+<p>Specifies a package/module to work on, unlike the package attribute
+  modules specified using this attribute can contain spaces in their
+  name.</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+  <tr>
+    <td valign="top"><b>Attribute</b></td>
+    <td valign="top"><b>Description</b></td>
+    <td align="center" valign="top"><b>Required</b></td>
+  </tr>
+  <tr>
+    <td valign="top">name</td>
+    <td valign="top">The module's/package's name.</td>
+    <td align="center" valign="top">Yes.</td>
+  </tr>
+</table>
 
 <h3>Examples</h3>
 <pre>  &lt;cvschangelog dir=&quot;dve/network&quot;

Modified: ant/core/trunk/docs/manual/CoreTasks/cvs.html
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTasks/cvs.html?rev=705256&r1=705255&r2=705256&view=diff
==============================================================================
--- ant/core/trunk/docs/manual/CoreTasks/cvs.html (original)
+++ ant/core/trunk/docs/manual/CoreTasks/cvs.html Thu Oct 16 07:39:24 2008
@@ -90,7 +90,10 @@
   </tr>
   <tr>
     <td valign="top">package</td>
-    <td valign="top">the package/module to check out.</td>
+    <td valign="top">the package/module to check out.  <b>Note:</b>
+      multiple attributes can be split using spaces.  Use a nested
+      &lt;module&gt; element if you want to specify a module with
+      spaces in its name.</td>
     <td align="center" valign="top">No</td>
   </tr>
   <tr>
@@ -151,6 +154,28 @@
     <td align="center" valign="top">No</td>
   </tr>
 </table>
+
+<h3>Parameters specified as nested elements</h3>
+
+<h4>module</h4>
+
+<p>Specifies a package/module to work on, unlike the package attribute
+  modules specified using this attribute can contain spaces in their
+  name.</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+  <tr>
+    <td valign="top"><b>Attribute</b></td>
+    <td valign="top"><b>Description</b></td>
+    <td align="center" valign="top"><b>Required</b></td>
+  </tr>
+  <tr>
+    <td valign="top">name</td>
+    <td valign="top">The module's/package's name.</td>
+    <td align="center" valign="top">Yes.</td>
+  </tr>
+</table>
+
 <h3>Examples</h3>
 <pre>  &lt;cvs cvsRoot=&quot;:pserver:[EMAIL PROTECTED]:/home/cvspublic&quot;
        package=&quot;ant&quot;

Modified: ant/core/trunk/docs/manual/CoreTasks/cvstagdiff.html
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTasks/cvstagdiff.html?rev=705256&r1=705255&r2=705256&view=diff
==============================================================================
--- ant/core/trunk/docs/manual/CoreTasks/cvstagdiff.html (original)
+++ ant/core/trunk/docs/manual/CoreTasks/cvstagdiff.html Thu Oct 16 07:39:24 
2008
@@ -103,7 +103,11 @@
     <td valign="top">the package/module to analyze.<br>
     Since ant 1.6
     multiple packages separated by spaces are possible.
-    aliases corresponding to different modules are also possible</td>
+    aliases corresponding to different modules are also possible
+    Use a nested &lt;module&gt; element if you want to specify a module with
+    spaces in its name.</td>
+    <td align="center" valign="top">No</td>
+  </tr>
     <td align="center" valign="top">Yes</td>
   </tr>
   <tr>
@@ -130,6 +134,27 @@
 </table>
 
 <h3>Examples</h3>
+
+<h4>module</h4>
+
+<p>Specifies a package/module to work on, unlike the package attribute
+  modules specified using this attribute can contain spaces in their
+  name.</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+  <tr>
+    <td valign="top"><b>Attribute</b></td>
+    <td valign="top"><b>Description</b></td>
+    <td align="center" valign="top"><b>Required</b></td>
+  </tr>
+  <tr>
+    <td valign="top">name</td>
+    <td valign="top">The module's/package's name.</td>
+    <td align="center" valign="top">Yes.</td>
+  </tr>
+</table>
+
+<h3>Examples</h3>
 <pre>  &lt;cvstagdiff cvsRoot=&quot;:pserver:[EMAIL 
PROTECTED]:/home/cvspublic&quot;
                 destfile=&quot;tagdiff.xml&quot;
                 package=&quot;ant&quot;

Modified: 
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java?rev=705256&r1=705255&r2=705256&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java 
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java 
Thu Oct 16 07:39:24 2008
@@ -24,6 +24,9 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Vector;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
@@ -52,6 +55,8 @@
 
     private Commandline cmd = new Commandline();
 
+    private ArrayList modules = new ArrayList();
+
     /** list of Commandline children */
     private Vector vecCommandlines = new Vector();
 
@@ -763,6 +768,10 @@
         if (cvsPackage != null) {
             c.createArgument().setLine(cvsPackage);
         }
+        for (Iterator iter = modules.iterator(); iter.hasNext(); ) {
+            Module m = (Module) iter.next();
+            c.createArgument().setValue(m.getName());
+        }
         if (this.compression > 0
             && this.compression <= MAXIMUM_COMRESSION_LEVEL) {
             c.createArgument(true).setValue("-z" + this.compression);
@@ -836,4 +845,27 @@
             ? AbstractCvsTask.DEFAULT_COMPRESSION_LEVEL : 0);
     }
 
+    /**
+     * add a named module/package.
+     *
+     * @since Ant 1.8.0
+     */
+    public void addModule(Module m) {
+        modules.add(m);
+    }
+
+    protected List getModules() {
+        return (List) modules.clone();
+    }
+
+    public static final class Module {
+        private String name;
+        public void setName(String s) {
+            name = s;
+        }
+        public String getName() {
+            return name;
+        }
+    }
+
 }

Modified: ant/core/trunk/src/tests/antunit/taskdefs/cvs/cvs.xml
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/cvs/cvs.xml?rev=705256&r1=705255&r2=705256&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/cvs/cvs.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/cvs/cvs.xml Thu Oct 16 07:39:24 
2008
@@ -37,4 +37,15 @@
                   destfile="${output}/report.xml"/>
     <au:assertFileExists file="${output}/report.xml"/>
   </target>
+
+  <target name="testCvsWithSpaceInModule">
+    <mkdir dir="${output}"/>
+    <cvs cvsroot="${cvsroot}" dest="${output}">
+      <module name="ant module 2"/>
+    </cvs>
+    <au:assertFileExists file="${output}/ant module 2/test.txt"/>
+    <cvschangelog dir="${output}/ant module 2"
+                  destfile="${output}/report.xml"/>
+    <au:assertFileExists file="${output}/report.xml"/>
+  </target>
 </project>

Modified: 
ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history?rev=705256&r1=705255&r2=705256&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history 
(original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history 
Thu Oct 16 07:39:24 2008
@@ -8,3 +8,7 @@
 O48f74a02|stefan|/tmp/testoutput/*0|antmodule1||antmodule1
 M48f74a39|stefan|/tmp/testoutput/*0|antmodule1|1.4|foo.txt
 O48f74a62|stefan|/tmp/testoutput/*0|antmodule1||antmodule1
+O48f75161|stefan|/tmp/testoutput/*0|ant module 2||ant module 2
+O48f75185|stefan|/tmp/testoutput/*0|ant module 2||ant module 2
+O48f75186|stefan|/tmp/testoutput/*0|antmodule1||antmodule1
+O48f75196|stefan|/tmp/testoutput/*0|ant module 2||ant module 2

Added: ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/ant module 
2/test.txt,v
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/ant%20module%202/test.txt%2Cv?rev=705256&view=auto
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/ant module 
2/test.txt,v (added)
+++ ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/ant module 
2/test.txt,v Thu Oct 16 07:39:24 2008
@@ -0,0 +1,41 @@
+head     1.1;
+branch   1.1.1;
+access   ;
+symbols  start:1.1.1.1 ant:1.1.1;
+locks    ; strict;
+comment  @# @;
+
+
+1.1
+date     2008.10.16.14.14.17;  author stefan;  state Exp;
+branches 1.1.1.1;
+next     ;
+commitid        cdf48f74c394567;
+
+1.1.1.1
+date     2008.10.16.14.14.17;  author stefan;  state Exp;
+branches ;
+next     ;
+commitid        cdf48f74c394567;
+
+
+desc
+@@
+
+
+
+1.1
+log
[EMAIL PROTECTED] revision
+@
+text
[EMAIL PROTECTED] a nice file.
+@
+
+
+1.1.1.1
+log
[EMAIL PROTECTED] with space in it's name
+@
+text
+@@


Reply via email to