mbenson 2004/04/20 15:32:29
Modified: . Tag: ANT_16_BRANCH WHATSNEW
src/main/org/apache/tools/ant/taskdefs Tag: ANT_16_BRANCH
PathConvert.java
docs/manual/CoreTasks Tag: ANT_16_BRANCH pathconvert.html
Added: src/etc/testcases/taskdefs Tag: ANT_16_BRANCH
pathconvert.xml
src/testcases/org/apache/tools/ant/taskdefs Tag:
ANT_16_BRANCH PathConvertTest.java
Log:
<pathconvert> nested <mapper>s to 1.6 branch
Revision Changes Path
No revision
No revision
1.1.2.1 +0 -0 ant/src/etc/testcases/taskdefs/pathconvert.xml
Index: pathconvert.xml
===================================================================
RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/pathconvert.xml,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
No revision
No revision
1.1.2.1 +0 -0 ant/src/testcases/org/apache/tools/ant/taskdefs/PathConvertTest.java
Index: PathConvertTest.java
===================================================================
RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/PathConvertTest.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
No revision
No revision
1.503.2.77 +2 -0 ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/ant/WHATSNEW,v
retrieving revision 1.503.2.76
retrieving revision 1.503.2.77
diff -u -r1.503.2.76 -r1.503.2.77
--- WHATSNEW 20 Apr 2004 22:09:04 -0000 1.503.2.76
+++ WHATSNEW 20 Apr 2004 22:32:28 -0000 1.503.2.77
@@ -87,6 +87,8 @@
* <touch> has filelist support.
+* <pathconvert> now accepts nested <mapper>s. Bugzilla Report 26364.
+
Changes from Ant 1.6.0 to Ant 1.6.1
===================================
No revision
No revision
1.27.2.5 +31 -0 ant/src/main/org/apache/tools/ant/taskdefs/PathConvert.java
Index: PathConvert.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/PathConvert.java,v
retrieving revision 1.27.2.4
retrieving revision 1.27.2.5
diff -u -r1.27.2.4 -r1.27.2.5
--- PathConvert.java 9 Mar 2004 17:01:34 -0000 1.27.2.4
+++ PathConvert.java 20 Apr 2004 22:32:29 -0000 1.27.2.5
@@ -19,6 +19,8 @@
import java.io.File;
import java.util.StringTokenizer;
import java.util.Vector;
+import java.util.List;
+import java.util.ArrayList;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
@@ -29,6 +31,8 @@
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.Reference;
+import org.apache.tools.ant.types.Mapper;
+import org.apache.tools.ant.util.FileNameMapper;
/**
* Converts path and classpath information to a specific target OS
@@ -81,6 +85,9 @@
*/
private String dirSep = null;
+ /** Filename mapper */
+ private Mapper mapper = null;
+
/**
* constructor
*/
@@ -350,6 +357,18 @@
// Get the list of path components in canonical form
String[] elems = path.list();
+ if (mapper != null) {
+ FileNameMapper impl = mapper.getImplementation();
+ List ret = new ArrayList();
+ for (int i = 0; i < elems.length; ++i) {
+ String[] mapped = impl.mapFileName(elems[i]);
+ for (int m = 0; mapped != null && m < mapped.length; ++m)
{
+ ret.add(mapped[m]);
+ }
+ }
+ elems = (String[]) ret.toArray(new String[] {});
+ }
+
for (int i = 0; i < elems.length; i++) {
String elem = elems[i];
@@ -433,6 +452,18 @@
return elem;
}
+ /**
+ * Add a mapper to convert the file names.
+ *
+ * @param mapper a <code>Mapper</code> value
+ */
+ public void addMapper(Mapper mapper) {
+ if (this.mapper != null) {
+ throw new BuildException(
+ "Cannot define more than one mapper");
+ }
+ this.mapper = mapper;
+ }
/**
* Validate that all our parameters have been properly initialized.
No revision
No revision
1.12.2.3 +9 -0 ant/docs/manual/CoreTasks/pathconvert.html
Index: pathconvert.html
===================================================================
RCS file: /home/cvs/ant/docs/manual/CoreTasks/pathconvert.html,v
retrieving revision 1.12.2.2
retrieving revision 1.12.2.3
diff -u -r1.12.2.2 -r1.12.2.3
--- pathconvert.html 9 Feb 2004 22:12:07 -0000 1.12.2.2
+++ pathconvert.html 20 Apr 2004 22:32:29 -0000 1.12.2.3
@@ -20,6 +20,10 @@
</p>
<p>Nested <code><map></code> elements can be specified
to map Windows
drive letters to Unix paths, and vice-versa.</p>
+<p>More complex transformations can be achieved using a nested
+<a href="../CoreTypes/mapper.html"><code><mapper></code></a>
+(since Ant 1.6.2).
+</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
@@ -115,6 +119,11 @@
<p>If the <code>refid</code> attribute is not specified, then a
nested <code><path></code> element must be supplied. See
<a href="../using.html#path">Path-like Structures</a> for details.</p>
+<h4>mapper</h4>
+<p>A single nested <a href="../CoreTypes/mapper.html">
+<code><mapper></code></a> element can be specified
+to perform any of various filename transformations (since Ant 1.6.2).
+</p>
<h3>Examples</h3>
<p>In the examples below, assume that the <code>${wl.home}</code> property
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
|