diff --git a/docs/manual/CoreTypes/mapper.html b/docs/manual/CoreTypes/mapper.html
index e56a081a3..15d97d4e2 100644
--- a/docs/manual/CoreTypes/mapper.html
+++ b/docs/manual/CoreTypes/mapper.html
@@ -239,6 +239,69 @@ that don't match the from pattern will be ignored.
Qlasses/dir/dir2/A.property+ The globmapper mapper can take the following extra attributes. +
+| Attribute | +Description | +Required | +
| casesensitice | ++ If this is false, the mapper will ignore case when matching the glob pattern. + This attribute can be true or false, the default is true. + Since ant 1.6.3. + | +No | +
| handledirchar | ++ If this is specified, the mapper will ignore the difference between the normal + directory separator characters - \ and /. + This attribute can be true or false, the default is false. + This attribute is useful for cross-platform build files. + Since ant 1.6.3. + | No | +
+ An example: +
+
+ <pathconvert property="x" targetos="unix">
+ <path path="Aj.Java"/>
+ <mapper>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="a*.java" to="*.java.bak" casesensitive="no"/>
+ </chainedmapper>
+ </mapper>
+ </pathconvert>
+ <echo>x is ${x}</echo>
+
+ + will output "x is j.java.bak". +
++ and +
+
+ <pathconvert property="x" targetos="unix">
+ <path path="d/e/f/j.java"/>
+ <mapper>
+ <globmapper from="${basedir}\d/e\*" to="*" ignoredirchar="yes"/>
+ </mapper>
+ </pathconvert>
+ <echo>x is ${x}</echo>
+
+ + will output "x is f/j.java". +
+Both to and from define regular
expressions. If the source file name matches the from
@@ -254,7 +317,7 @@ another dollar-sign in Ant.
The regexp mapper needs a supporting library and an implementation
of org.apache.tools.ant.util.regexp.RegexpMatcher that
hides the specifics of the library. Ant comes with implementations for
-the java.util.regex package of JDK 1.4,
+the java.util.regex package of JDK 1.4 or higher,
jakarta-regexp and jakarta-ORO. If you compile
from sources and plan to use one of them, make sure the libraries are
@@ -263,13 +326,16 @@ href="http://www.cacas.org/~wes/java/" target="_top">gnu.regexp or gnu.rex with Ant, see this
article.
This means, you need optional.jar from the Ant release
-you are using and one of the supported regular
-expression libraries. Make sure, both will be loaded from the same
+
This means, you need one of the supported regular expression
+ libraries and
+ the corresponding ant-[jakarta-oro, jakarta-regexp, apache-oro, apache-regexp}.jar
+from the Ant release you are using.
+Make sure, both will be loaded from the same
classpath, that is either put them into your CLASSPATH,
ANT_HOME/lib directory or a nested
<classpath> element of the mapper - you cannot have
-optional.jar in ANT_HOME/lib and the library
+ant-[jakarta-oro, jakarta-regexp, apache-oro, apache-regexp].jar in ANT_HOME/lib
+ and the library
in a nested <classpath>.
Ant will choose the regular-expression library based on the following algorithm:
@@ -337,8 +403,8 @@ jakarta-ORO and finally try jakarta-regexp.-<mapper type="regexp" from="^(.*)\.(.*)$$" to="\2.\1"/> -<regexpmapper from="^(.*)\.(.*)$$" to="\2.\1"/> +<mapper type="regexp" from="^(.*)\.(.*)$$" to="\2.\1"/> +<regexpmapper from="^(.*)\.(.*)$$&" to="\2.\1"/>
-<mapper type="regexp" from="^(.*?)(\$$[^/\\\.]*)?\.class$$" to="\1.java"/> -<regexpmapper from="^(.*?)(\$$[^/\\\.]*)?\.class$$" to="\1.java"/> +<mapper type="regexp" from="^(.*?)(\$$[^/\\\.]*)?\.class$$" to="\1.java"/> +<regexpmapper from="^(.*?)(\$$[^/\\\.]*)?\.class$$" to="\1.java"/>
java/lang/ClassLoader.java |
+ The regexpmapper mapper can take the following extra attributes. +
+| Attribute | +Description | +Required | +
| casesensitive | ++ If this is false, the mapper will ignore case when matching the pattern. + This attribute can be true or false, the default is true. + Since ant 1.6.3. + | +No | +
| handledirchar | ++ If this is specified, the mapper will treat a \ character in a filename + as a / for the purposes of matching. + This attribute can be true or false, the default is false. + This attribute is useful for cross-platform build files. + Since ant 1.6.3. + | No | +
+ An example: +
+
+ <pathconvert property="x" targetos="unix">
+ <path path="Aj.Java"/>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="a(*.)java" to="\1.java.bak" casesensitive="no"/>
+ </chainedmapper>
+ </pathconvert>
+ <echo>x is ${x}</echo>
+
+ + will output "x is j.java.bak". +
++ and +
+
+ <pathconvert property="hd.prop" targetos="windows">
+ <path path="d\e/f\j.java"/>
+ <chainedmapper>
+ <regexpmapper from="${basedir}/d/e/(.*)" to="\1" handledirchar="yes"/>
+ </chainedmapper>
+ </pathconvert>
+
+
+ will set hd.prop to "f\j.java".
+
Sharing the same syntax as the glob mapper,
the package mapper replaces
@@ -504,6 +628,55 @@ with <uptodate> and <junit> output.
The chained mapper has no corresponding
<mapper type> attribute.
+ This mapper implementation applies a filterchain + to the source file name. +
+Examples: ++ ++<filtermapper> + <replacestring from="\" to="/"/> +</filtermapper> +
| Source file name | +Target file names | +
foo\bar\A.java |
+ foo/bar/A.java |
+
+ ++<filtermapper> + <scriptfilter language="beanshell"> + self.setToken(self.getToken().toUpperCase()); + </scriptfilter> +</filtermapper> +
| Source file name | +Target file names | +
foo\bar\A.java |
+ FOO\BAR\A.JAVA |
+
The filtermapper has no corresponding
+ <mapper type> attribute.
+
Copyright © 2000-2004 The Apache Software Foundation. All rights Reserved.