You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by an...@apache.org on 2006/10/29 00:54:49 UTC

svn commit: r468781 - in /ant/core/trunk: WHATSNEW src/main/org/apache/tools/ant/types/AbstractFileSet.java src/main/org/apache/tools/ant/types/PatternSet.java src/tests/antunit/types/fileset-test.xml

Author: antoine
Date: Sat Oct 28 15:54:48 2006
New Revision: 468781

URL: http://svn.apache.org/viewvc?view=rev&rev=468781
Log:
fix for Bugzilla 40722. Was identified as a directory scanning problem.

Added:
    ant/core/trunk/src/tests/antunit/types/fileset-test.xml
Modified:
    ant/core/trunk/WHATSNEW
    ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java
    ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java

Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?view=diff&rev=468781&r1=468780&r2=468781
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Sat Oct 28 15:54:48 2006
@@ -13,6 +13,9 @@
 * <delete> doesnt delete when defaultexcludes="false" and no includes is set 
   fixed. Bugzilla 40313.
 
+* behavior change of DirectoryScanner/AbstractFileset when conditional include
+  patterns are used. Bugzilla 40722.
+
 Other changes:
 --------------
 

Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java?view=diff&rev=468781&r1=468780&r2=468781
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java Sat Oct 28 15:54:48 2006
@@ -459,12 +459,16 @@
         }
         ds.setBasedir(dir);
 
-        PatternSet ps = mergePatterns(p);
+        final int count = additionalPatterns.size();
+        for (int i = 0; i < count; i++) {
+            Object o = additionalPatterns.elementAt(i);
+            defaultPatterns.append((PatternSet) o, p);
+        }
         p.log(getDataTypeName() + ": Setup scanner in dir " + dir
-            + " with " + ps, Project.MSG_DEBUG);
+            + " with " + defaultPatterns, Project.MSG_DEBUG);
 
-        ds.setIncludes(ps.getIncludePatterns(p));
-        ds.setExcludes(ps.getExcludePatterns(p));
+        ds.setIncludes(defaultPatterns.getIncludePatterns(p));
+        ds.setExcludes(defaultPatterns.getExcludePatterns(p));
         if (ds instanceof SelectorScanner) {
             SelectorScanner ss = (SelectorScanner) ds;
             ss.setSelectors(getSelectors(p));

Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java?view=diff&rev=468781&r1=468780&r2=468781
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java Sat Oct 28 15:54:48 2006
@@ -117,11 +117,12 @@
          * @return a printable form of this object.
          */
         public String toString() {
+            StringBuffer buf = new StringBuffer();
             if (name == null) {
-                throw new BuildException(
-                    "Missing attribute \"name\" for a pattern");
+                buf.append("noname");
+            } else {
+                buf.append(name);
             }
-            StringBuffer buf = new StringBuffer(name);
             if ((ifCond != null) || (unlessCond != null)) {
                 buf.append(":");
                 String connector = "";

Added: ant/core/trunk/src/tests/antunit/types/fileset-test.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/types/fileset-test.xml?view=auto&rev=468781
==============================================================================
--- ant/core/trunk/src/tests/antunit/types/fileset-test.xml (added)
+++ ant/core/trunk/src/tests/antunit/types/fileset-test.xml Sat Oct 28 15:54:48 2006
@@ -0,0 +1,32 @@
+<project xmlns:au="antlib:org.apache.ant.antunit" default="all">
+
+  <target name="test-fileset-with-if">
+    <fileset id="this.xml" dir=".">
+      <include if="trigger.include" name="fileset-test.xml"/>
+    </fileset>
+    <pathconvert refid="this.xml" property="this.xml.prop" pathsep="${line.separator}" setonempty="false"/>
+    <au:assertTrue message="fileset this.xml should not contain anything but contains ${this.xml.prop}">
+        <not>
+          <isset property="this.xml.prop"/>
+        </not>
+    </au:assertTrue>
+  </target>
+
+  <target name="test-fileset-with-if-property-set">
+    <property name="trigger.include" value="true"/>
+    <fileset id="this.xml" dir=".">
+      <include if="trigger.include" name="fileset-test.xml"/>
+    </fileset>
+    <pathconvert refid="this.xml" property="this.xml.prop" pathsep="${line.separator}" setonempty="false"/>
+    <au:assertPropertySet name="this.xml.prop" message="fileset should contain one file"/>
+    <echo>${this.xml.prop}</echo>
+    <au:assertLogContains text="fileset-test.xml"/>
+  </target>
+
+  <target name="all">
+    <au:antunit>
+      <fileset dir="${basedir}" includes="fileset-test.xml"/>
+      <au:plainlistener/>
+    </au:antunit>
+  </target>
+</project>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org