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