Author: bodewig
Date: Thu Aug 27 07:52:50 2009
New Revision: 808310
URL: http://svn.apache.org/viewvc?rev=808310&view=rev
Log:
allow rootfilesets with a dir other than the dir attribute of the classfileset.
PR 37763. Submitted by Alexei Yudichev
Modified:
ant/core/trunk/CONTRIBUTORS
ant/core/trunk/WHATSNEW
ant/core/trunk/contributors.xml
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
Modified: ant/core/trunk/CONTRIBUTORS
URL:
http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?rev=808310&r1=808309&r2=808310&view=diff
==============================================================================
Binary files - no diff available.
Modified: ant/core/trunk/WHATSNEW
URL:
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=808310&r1=808309&r2=808310&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Thu Aug 27 07:52:50 2009
@@ -930,6 +930,10 @@
* A new token filter <uniqfilter> that suppresses tokens that match
their ancestor token has been added.
+ * <rootfileset>s nested into <classfileset>s can now use a dir
+ attribute different from the <classfileset>.
+ Bugzilla Report 37763.
+
Changes from Ant 1.7.0 TO Ant 1.7.1
=============================================
Modified: ant/core/trunk/contributors.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?rev=808310&r1=808309&r2=808310&view=diff
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Thu Aug 27 07:52:50 2009
@@ -47,6 +47,10 @@
<last>Ishutin</last>
</name>
<name>
+ <first>Alexei</first>
+ <last>Yudichev</last>
+ </name>
+ <name>
<first>Alexey</first>
<last>Panchenko</last>
</name>
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java?rev=808310&r1=808309&r2=808310&view=diff
==============================================================================
---
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java
(original)
+++
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java
Thu Aug 27 07:52:50 2009
@@ -121,6 +121,8 @@
return getRef(p).getDirectoryScanner(p);
}
dieOnCircularReference(p);
+ DirectoryScanner parentScanner = super.getDirectoryScanner(p);
+ DependScanner scanner = new DependScanner(parentScanner);
Vector allRootClasses = (Vector) rootClasses.clone();
for (Enumeration e = rootFileSets.elements(); e.hasMoreElements();) {
FileSet additionalRootSet = (FileSet) e.nextElement();
@@ -135,9 +137,8 @@
allRootClasses.addElement(className);
}
}
+ scanner.addBasedir(additionalRootSet.getDir(p));
}
- DirectoryScanner parentScanner = super.getDirectoryScanner(p);
- DependScanner scanner = new DependScanner(parentScanner);
scanner.setBasedir(getDir(p));
scanner.setRootClasses(allRootClasses);
scanner.scan();
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java?rev=808310&r1=808309&r2=808310&view=diff
==============================================================================
---
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
(original)
+++
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
Thu Aug 27 07:52:50 2009
@@ -47,6 +47,8 @@
*/
private Vector included;
+ private Vector additionalBaseDirs = new Vector();
+
/**
* The parent scanner which gives the basic set of files. Only files which
* are in this set and which can be reached from a root class will end
@@ -109,9 +111,13 @@
analyzer = (DependencyAnalyzer) analyzerClass.newInstance();
} catch (Exception e) {
throw new BuildException("Unable to load dependency analyzer: "
- + analyzerClassName, e);
+ + analyzerClassName, e);
}
analyzer.addClassPath(new Path(null, basedir.getPath()));
+ for (Enumeration e = additionalBaseDirs.elements();
e.hasMoreElements();) {
+ File additionalBaseDir = (File) e.nextElement();
+ analyzer.addClassPath(new Path(null, additionalBaseDir.getPath()));
+ }
for (Enumeration e = rootClasses.elements(); e.hasMoreElements();) {
String rootClass = (String) e.nextElement();
@@ -210,4 +216,8 @@
/** {...@inheritdoc}. */
public void setCaseSensitive(boolean isCaseSensitive) {
}
+
+ public void addBasedir(File baseDir) {
+ additionalBaseDirs.addElement(baseDir);
+ }
}