From 098f15932fbfceb692885e3a45e02c58af524abe Mon Sep 17 00:00:00 2001
From: Diane Holt Converts a nested path, path reference, or fileset reference to the form usable on a
- specified platform
- and stores the result in a given property. This operation is useful when script files
- (batch files or shell scripts) must be generated my the build system and they contain
- path information that must be properly formatted for the target architecture, not the
- architecture on which the build is running, or when you need to create a list of files
- separated by a given character, like a comma or a space.
+ Converts a nested Prefix maps can be specified to map Windows drive letters to Unix paths and vice
- versa. Nested Pathconvert
Description
-<path> or reference to a Path,
+FileSet, DirSet, or FileList into a path
+form for a particular platform, and stores the result in a given property.
+It can also be used when you need
+to convert a Path, FileSet, or DirSet into a list, separated by a given
+character, such as a comma or space, or, conversely, to convert a list
+of files in a FileList into a path.
<map> elements can be specified to map Windows
+drive letters to Unix paths, and vice-versa.Parameters
@@ -30,12 +30,14 @@
targetos
- The target architecture. Must be one of 'unix' or 'windows'.
This is a
- shorthand mechanism for specifying both pathsep and dirsep
+ The target architecture. Must be one of 'unix' or 'windows'.
+ This is a shorthand mechanism for specifying both
+ pathsep and dirsep
according to the specified target architecture.
- Must specify one of targetos, pathsep,or dirsep.
+ Yes, unless
pathsep and/or
+ dirsep are specified.
@@ -54,15 +56,18 @@
property
- The name of the property in which to place the converted path
+ The name of the property in which to place the converted path.
Yes
refid
What to convert, given as a
- reference to a PATH or FILESET
+ reference to a
+
- <path>, <fileset>,
+ <dirset>, or <fileset>
defined elsewhereNo, if omitted a nested <path> element must be supplied.
+ No; if omitted, a nested
+
<path> element must be supplied.Parameters specified as nested elements
@@ -76,14 +81,14 @@
from
- The prefix to match. Note that this value is case insensitive when
- the build is running on a windows platform and case sensitive when running on a
+ The prefix to match. Note that this value is case-insensitive when
+ the build is running on a Windows platform and case-sensitive when running on a
Unix platform.
Yes
@@ -92,87 +97,61 @@
the path being processed. If no map entries are specified, then no path prefix mapping
is performed.
to
- The replacement text to use when from is matched.
+ The replacement text to use when
from is matched.Yes
Note that the map elements are applied in the order specified and the only the first - matching map element is applied. So, the ordering of your map elements can be important - if any from values are prefixes of other from values. +
Note: The map elements are applied in the order specified,
+and only the first matching map element is applied. So, the ordering of
+your map elements can be important, if any from values are
+prefixes of other from values.
If a path reference is not supplied using the refid attribute, then a - nested path element must be supplied. See +
If the refid attribute is not specified, then a
+ nested <path> element must be supplied. See
Path-like Structures for details.
In the examples below, assume that the property wl.home has the value -d:\weblogic on Windows and /weblogic on Unix.
+In the examples below, assume that the ${wl.home} property
+has the value
+d:\weblogic, and ${wl.home.unix} has the value
+/weblogic.
<path id="wl.path">
- <pathelement location="${wl.home}/lib/weblogicaux.jar" />
- <pathelement location="${wl.home}/classes" />
- <pathelement location="${wl.home}/mssqlserver4/classes" />
- <pathelement location="c:\winnt\System32" />
+ <pathelement location="${wl.home}/lib/weblogicaux.jar"/>
+ <pathelement location="${wl.home}/classes"/>
+ <pathelement location="${wl.home}/mssqlserver4/classes"/>
+ <pathelement location="c:\winnt\System32"/>
</path>
- <pathconvert targetos="unix" property="newpath" refid="wl.path"/>
+ <pathconvert targetos="unix" property="wl.path.unix" refid="wl.path">
+ <map from="${wl.home}" to="${wl.home.unix}"/>
+ <map from="c:" to=""/>
+ </pathconvert>
-Assuming wl.property has the value "d:\weblogic", will generate the path shown below - and store it in the property named newpath +
will generate the path shown below
+and store it in the property named wl.path.unix.
/weblogic/lib/weblogicaux.jar:/weblogic/classes:/weblogic/mssqlserver4/classes:/WINNT/SYSTEM32-Note that the drive letters have been removed. This is the default behavior when no map -elements have been specified.
-
- <pathconvert targetos="unix" property="newpath" >
- <path id="wl.path">
- <pathelement location="${wl.home}/lib/weblogicaux.jar" />
- <pathelement location="${wl.home}/classes" />
- <pathelement location="${wl.home}/mssqlserver4/classes" />
- <pathelement location="c:\winnt\System32" />
- </path>
- </pathconvert>
-
-This generates the exact same path as the previous example. It demonstrates the use of
-a nested path element.
-- <pathconvert targetos="unix" property="newpath" refid="wl.path"> - <map from="d:" to="/foo"/> - <map from="c:" to="/bar"/> - </pathconvert> --
This example specifies two map entries that will convert path elements that start with -c: to /dos and d: to /. The resulting path is shown -below.
-
-/weblogic/lib/weblogicaux.jar:/weblogic/classes:/weblogic/mssqlserver4/classes:/dos/WINNT/SYSTEM32
+ <filelist id="custom_tasks.jars"
+ dir="${env.HOME}/ant/lib"
+ files="njavac.jar,xproperty.jar"/>
-
- <pathconvert targetos="windows" property="newpath" >
- <path id="wl.path">
- <pathelement location="${wl.home}/lib/weblogicaux.jar" />
- <pathelement location="${wl.home}/classes" />
- <pathelement location="${wl.home}/mssqlserver4/classes" />
- <pathelement location="/dos/winnt/System32" />
- </path>
- <map from="/dos" to="c:\"/>
- <map from="/" to="d:\"/>
+ <pathconvert targetos="unix" property="custom_tasks.jars" refid="custom_tasks.jars">
+ <map from="${env.HOME}" to="/usr/local"/>
</pathconvert>
-This example, similar to the one above but targetting windows, specifies two map -entries that will convert path elements that start with -/dos to c:\ and / to d:\. Note that the order of the -map elements was important here since / is a prefix of /dos. -The resulting path is shown below.
+will convert the list of files to the following Unix path:-d:\weblogic\lib\weblogicaux.jar;d:\weblogic\classes;d:\weblogic\mssqlserver4\classes;c:\WINNT\SYSTEM32 +/usr/local/ant/lib/njavac.jar:/usr/local/ant/lib/xproperty.jar-
<fileset dir="${src.dir}" id="src.files">
<include name="**/*.java"/>
@@ -187,12 +166,11 @@ it defaults to the appropriate character for the current platform. Such a list
then be used in another task, like javadoc, that requires a comma separated
list of files.
-
-Copyright © 2001 Apache Software Foundation. All rights
-Reserved.
+Copyright © 2001,2002 Apache Software Foundation.
+All rights Reserved.