|
- <html>
-
- <head>
- <meta http-equiv="Content-Language" content="en-us">
- <title>PathConvert Task</title>
- </head>
-
- <body>
-
- <h2><a name="foreach">Pathconvert</a></h2>
- <h3>Description</h3>
- <p>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.
- </p>
- <p>Prefix maps can be specified to map Windows drive letters to Unix paths and vice
- versa.</p>
-
- <h3>Parameters</h3>
- <table border="1" cellpadding="2" cellspacing="0">
- <tr>
- <td valign="top"><b>Attribute</b></td>
- <td valign="top"><b>Description</b></td>
- <td align="center" valign="top"><b>Required</b></td>
- </tr>
- <tr>
- <td valign="top">targetos</td>
- <td valign="top">
- The target architecture. Must be one of 'unix' or 'windows'. <BR>This is a
- shorthand mechanism for specifying both <tt>pathsep</tt> and <tt>dirsep</tt>
- according to the specified target architecture.
- </td>
- <td valign="top" align="center">
- Must specify one of <tt>targetos</tt>, <tt>pathsep</tt>,or <tt>dirsep</tt>.
- </td>
- </tr>
- <tr>
- <td valign="top">dirsep</td>
- <td valign="top">
- The character to use as the directory separator in the generated paths.
- </td>
- <td valign="top" align="center">No, defaults to current JVM <tt>File.separator</tt></td>
- </tr>
- <tr>
- <td valign="top">pathsep</td>
- <td valign="top">
- The character to use as the path element separator in the generated paths.
- </td>
- <td valign="top" align="center">No, defaults to current JVM <tt>File.pathSeparator</tt></td>
- </tr>
- <tr>
- <td valign="top">property</td>
- <td valign="top">The name of the property in which to place the converted path</td>
- <td valign="top" align="center">Yes</td>
- </tr>
- <tr>
- <td valign="top">refid</td>
- <td valign="top">What to convert, given as a
- <a href="../using.html#references">reference</a> to a PATH or FILESET
- defined elsewhere</td>
- <td valign="top" align="center">No, if omitted a nested <path> element must be supplied.</td>
- </tr>
- </table>
- <h3>Parameters specified as nested elements</h3>
- <h4>map</h4>
- <p>Specifies the mapping of path prefixes between Unix and Windows.</p>
- <table border="1" cellpadding="2" cellspacing="0">
- <tr>
- <td valign="top"><b>Attribute</b></td>
- <td valign="top"><b>Description</b></td>
- <td align="center" valign="top"><b>Required</b></td>
- </tr>
- <tr>
- <td valign="top">from</td>
- <td valign="top">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.</td>
- <td valign="top" align="center">Yes</td>
- </tr>
- <tr>
- <td valign="top">to</td>
- <td valign="top">The replacement text to use when <i>from</i> is matched.</td>
- <td valign="top" align="center">Yes</td>
- </tr>
- </table>
-
- <p>Each map element specifies a single replacement map to be applied to the elements of
- the path being processed. If no map entries are specified, then no path prefix mapping
- is performed.
- </p>
- <p><i>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 <TT>from</tt> values are prefixes of other <tt>from</tt> values.</i>
- </p>
- <h4>path</h4>
- <p>If a path reference is not supplied using the <i>refid</i> attribute, then a
- nested path element must be supplied. See
- <a href="../using.html#path">Path-like Structures</a> for details.</p>
-
- <h3>Examples</h3>
- <p>In the examples below, assume that the property <b>wl.home</b> has the value
- <tt>d:\weblogic</tt> on Windows and <tt>/weblogic</tt> on Unix.</p>
- <h4>Example 1</h4>
- <pre>
- <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 targetos="unix" property="newpath" refid="wl.path"/>
- </pre>
- <p>Assuming wl.property has the value "d:\weblogic", will generate the path shown below
- and store it in the property named <tt>newpath</tt>
- </p>
- <pre>
- /weblogic/lib/weblogicaux.jar:/weblogic/classes:/weblogic/mssqlserver4/classes:/WINNT/SYSTEM32
- </pre>
- Note that the drive letters have been removed. This is the default behavior when no map
- elements have been specified.
-
- <h4>Example 2</h4>
- <pre>
-
- <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>
- </pre>
- This generates the exact same path as the previous example. It demonstrates the use of
- a nested path element.
- <h4>Example 3</h4>
- <pre>
- <pathconvert targetos="unix" property="newpath" refid="wl.path">
- <map from="d:" to="/foo"/>
- <map from="c:" to="/bar"/>
- </pathconvert>
- </pre>
- <p>This example specifies two map entries that will convert path elements that start with
- <tt>c:</tt> to <TT>/dos</tt> and <tt>d:</tt> to <TT>/</tt>. The resulting path is shown
- below.</p>
- <pre>
- /weblogic/lib/weblogicaux.jar:/weblogic/classes:/weblogic/mssqlserver4/classes:/dos/WINNT/SYSTEM32
- </pre>
- <h4>Example 4</h4>
- <pre>
- <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>
- </pre>
- <p>This example, similar to the one above but targetting windows, specifies two map
- entries that will convert path elements that start with
- <tt>/dos</tt> to <TT>c:\</tt> and <tt>/</tt> to <TT>d:\</tt>. Note that the order of the
- map elements was important here since <tt>/</tt> is a prefix of <tt>/dos</tt>.
- The resulting path is shown below.</p>
- <pre>
- d:\weblogic\lib\weblogicaux.jar;d:\weblogic\classes;d:\weblogic\mssqlserver4\classes;c:\WINNT\SYSTEM32
- </pre>
- <h4>Example 5</h4>
- <pre>
- <fileset dir="${src.dir}" id="src.files">
- <include name="**/*.java"/>
- </fileset>
-
- <pathconvert pathsep="," property="javafiles" refid="src.files"/>
- </pre>
- <p>This example takes the set of files determined by the fileset (all files ending
- in <tt>.java</tt>), joins them together separated by commas, and places the resulting
- list into the property <tt>javafiles</tt>. The directory separator is not specified, so
- it defaults to the appropriate character for the current platform. Such a list could
- then be used in another task, like <tt>javadoc</tt>, that requires a comma separated
- list of files.
- </p>
- <hr>
-
- <hr>
- <p align="center">Copyright © 2001 Apache Software Foundation. All rights
- Reserved.</p>
- </body>
- </html>
-
-
|