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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]