From ea21f122ab7f20196ffe7e065fe5ac2b0d194df3 Mon Sep 17 00:00:00 2001
From: Stefan Bodewig
Date: Thu, 12 Jul 2001 13:02:47 +0000
Subject: [PATCH] Add vssver.scc to default excludes
PR: 2015
In some cases DirectoryScanner could miss included files/directories.
PR: 1415
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269333 13f79535-47bb-0310-9956-ffa450edef68
---
WHATSNEW | 5 +
docs/manual/dirtasks.html | 1 +
.../org/apache/tools/ant/DesirableFilter.java | 5 +
.../apache/tools/ant/DirectoryScanner.java | 12 +-
.../tools/ant/DirectoryScannerTest.java | 112 ++++++++++++++++++
5 files changed, 132 insertions(+), 3 deletions(-)
create mode 100644 src/testcases/org/apache/tools/ant/DirectoryScannerTest.java
diff --git a/WHATSNEW b/WHATSNEW
index df82bd9aa..7d8f4c724 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -110,6 +110,8 @@ Other changes:
* and have been merged into a single task.
+* added vssver.scc to the default excludes
+
Fixed bugs:
-----------
@@ -180,6 +182,9 @@ Fixed bugs:
* and do now execute the command only once, if you
specify the parallel attribute - instead of once per fileset.
+* directory based tasks and fileset could miss some included files in
+ directories that have been excluded
+
Changes from Ant 1.2 to Ant 1.3
===========================================
diff --git a/docs/manual/dirtasks.html b/docs/manual/dirtasks.html
index d8e8d12d3..db00e9bca 100644
--- a/docs/manual/dirtasks.html
+++ b/docs/manual/dirtasks.html
@@ -159,6 +159,7 @@ They are:
**/.cvsignore
**/SCCS
**/SCCS/**
+ **/vssver.scc
If you do not want these default excludes applied, you may disable them with the
defaultexcludes="no"
attribute.
diff --git a/src/main/org/apache/tools/ant/DesirableFilter.java b/src/main/org/apache/tools/ant/DesirableFilter.java
index af348343e..92672ad0b 100644
--- a/src/main/org/apache/tools/ant/DesirableFilter.java
+++ b/src/main/org/apache/tools/ant/DesirableFilter.java
@@ -114,6 +114,11 @@ public class DesirableFilter implements FilenameFilter {
return false;
}
+ // Visual Source Save
+ if (name.equals("vssver.scc")) {
+ return false;
+ }
+
// default
return true;
}
diff --git a/src/main/org/apache/tools/ant/DirectoryScanner.java b/src/main/org/apache/tools/ant/DirectoryScanner.java
index e86e73c74..ba6d9e7dd 100644
--- a/src/main/org/apache/tools/ant/DirectoryScanner.java
+++ b/src/main/org/apache/tools/ant/DirectoryScanner.java
@@ -149,7 +149,8 @@ public class DirectoryScanner implements FileScanner {
"**/CVS/**",
"**/.cvsignore",
"**/SCCS",
- "**/SCCS/**"
+ "**/SCCS/**",
+ "**/vssver.scc"
};
/**
@@ -708,7 +709,10 @@ strLoop:
dirsNotIncluded.copyInto(notIncl);
for (int i=0; i.
+ */
+
+package org.apache.tools.ant;
+
+import junit.framework.TestCase;
+import junit.framework.AssertionFailedError;
+import java.io.File;
+import java.util.*;
+
+/**
+ * JUnit 3 testcases for org.apache.tools.ant.DirectoryScanner
+ *
+ * @author Stefan Bodewig
+ */
+public class DirectoryScannerTest extends TestCase {
+
+ public DirectoryScannerTest(String name) {super(name);}
+
+ /**
+ * Test inspired by Bug#1415.
+ */
+ public void testChildrenOfExcludedDirectory() {
+ File dir = new File("src/main/org/apache/tools");
+ DirectoryScanner ds = new DirectoryScanner();
+ ds.setBasedir(dir);
+ ds.setExcludes(new String[] {"ant/**"});
+ ds.scan();
+
+ boolean haveZipPackage = false;
+ boolean haveTaskdefsPackage = false;
+ String[] included = ds.getIncludedDirectories();
+ for (int i=0; i