You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

pathconvert.html 7.0 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="en-us">
  4. <title>PathConvert Task</title>
  5. </head>
  6. <body>
  7. <h2><a name="foreach">Pathconvert</a></h2>
  8. <h3>Description</h3>
  9. <p>Converts a nested <code>&lt;path&gt;</code> or reference to a Path,
  10. FileSet, DirSet, or FileList into a path
  11. form for a particular platform, and stores the result in a given property.
  12. It can also be used when you need
  13. to convert a Path, FileSet, or DirSet into a list, separated by a given
  14. character, such as a comma or space, or, conversely, to convert a list
  15. of files in a FileList into a path.
  16. </p>
  17. <p>Nested <code>&lt;map&gt;</code> elements can be specified to map Windows
  18. drive letters to Unix paths, and vice-versa.</p>
  19. <p>More complex transformations can be achieved using a nested
  20. <a href="../CoreTypes/mapper.html"><code>&lt;mapper&gt;</code></a>
  21. (since Ant 1.6.2).
  22. </p>
  23. <h3>Parameters</h3>
  24. <table border="1" cellpadding="2" cellspacing="0">
  25. <tr>
  26. <td valign="top"><b>Attribute</b></td>
  27. <td valign="top"><b>Description</b></td>
  28. <td align="center" valign="top"><b>Required</b></td>
  29. </tr>
  30. <tr>
  31. <td valign="top">targetos</td>
  32. <td valign="top">
  33. The target architecture. Must be one of 'unix', 'windows',
  34. 'netware', 'tandem' or 'os/2'.
  35. This is a shorthand mechanism for specifying both
  36. <code>pathsep</code> and <code>dirsep</code>
  37. according to the specified target architecture.
  38. </td>
  39. <td valign="top" align="center">
  40. Yes, unless <code>pathsep</code> and/or
  41. <code>dirsep</code> are specified.
  42. </td>
  43. </tr>
  44. <tr>
  45. <td valign="top">dirsep</td>
  46. <td valign="top">
  47. The character(s) to use as the directory separator in the
  48. generated paths.
  49. </td>
  50. <td valign="top" align="center">No, defaults to current JVM <tt>File.separator</tt></td>
  51. </tr>
  52. <tr>
  53. <td valign="top">pathsep</td>
  54. <td valign="top">
  55. The character(s) to use as the path-element separator in the
  56. generated paths.
  57. </td>
  58. <td valign="top" align="center">No, defaults to current JVM <tt>File.pathSeparator</tt></td>
  59. </tr>
  60. <tr>
  61. <td valign="top">property</td>
  62. <td valign="top">The name of the property in which to place the converted path.</td>
  63. <td valign="top" align="center">Yes</td>
  64. </tr>
  65. <tr>
  66. <td valign="top">refid</td>
  67. <td valign="top">What to convert, given as a
  68. <a href="../using.html#references">reference</a> to a
  69. <code>&lt;path&gt;</code>, <code>&lt;fileset&gt;</code>,
  70. <code>&lt;dirset&gt;</code>, or <code>&lt;filelist&gt;</code>
  71. defined elsewhere</td>
  72. <td valign="top" align="center">No; if omitted, a nested
  73. <code>&lt;path&gt;</code> element must be supplied.</td>
  74. </tr>
  75. <td valign="top">setonempty</td>
  76. <td valign="top">Should the property be set, even if the result
  77. is the empty string?
  78. <td valign="top" align="center">No; default is &quot;true&quot;.
  79. </tr>
  80. </table>
  81. <h3>Parameters specified as nested elements</h3>
  82. <h4>map</h4>
  83. <p>Specifies the mapping of path prefixes between Unix and Windows.</p>
  84. <table border="1" cellpadding="2" cellspacing="0">
  85. <tr>
  86. <td valign="top"><b>Attribute</b></td>
  87. <td valign="top"><b>Description</b></td>
  88. <td align="center" valign="top"><b>Required</b></td>
  89. </tr>
  90. <tr>
  91. <td valign="top">from</td>
  92. <td valign="top">The prefix to match. Note that this value is case-insensitive when
  93. the build is running on a Windows platform and case-sensitive when running on a
  94. Unix platform.</td>
  95. <td valign="top" align="center">Yes</td>
  96. </tr>
  97. <tr>
  98. <td valign="top">to</td>
  99. <td valign="top">The replacement text to use when <code>from</code> is matched.</td>
  100. <td valign="top" align="center">Yes</td>
  101. </tr>
  102. </table>
  103. <p>Each map element specifies a single replacement map to be applied to the elements of
  104. the path being processed. If no map entries are specified, then no path prefix mapping
  105. is performed.
  106. </p>
  107. <p><strong>Note</strong>: The map elements are applied in the order specified,
  108. and only the first matching map element is applied. So, the ordering of
  109. your map elements can be important, if any <code>from</code> values are
  110. prefixes of other <code>from</code> values.</i>
  111. </p>
  112. <h4>path</h4>
  113. <p>If the <code>refid</code> attribute is not specified, then a
  114. nested <code>&lt;path&gt;</code> element must be supplied. See
  115. <a href="../using.html#path">Path-like Structures</a> for details.</p>
  116. <h4>mapper</h4>
  117. <p>A single nested <a href="../CoreTypes/mapper.html">
  118. <code>&lt;mapper&gt;</code></a> element can be specified
  119. to perform any of various filename transformations (since Ant 1.6.2).
  120. </p>
  121. <h3>Examples</h3>
  122. <p>In the examples below, assume that the <code>${wl.home}</code> property
  123. has the value
  124. <code>d:\weblogic</code>, and <code>${wl.home.unix}</code> has the value
  125. <code>/weblogic</code>.</p>
  126. <h4>Example 1</h4>
  127. <pre>
  128. &lt;path id="wl.path"&gt;
  129. &lt;pathelement location=&quot;${wl.home}/lib/weblogicaux.jar&quot;/&gt;
  130. &lt;pathelement location=&quot;${wl.home}/classes&quot;/&gt;
  131. &lt;pathelement location=&quot;${wl.home}/mssqlserver4/classes&quot;/&gt;
  132. &lt;pathelement location=&quot;c:\winnt\System32&quot;/&gt;
  133. &lt;/path&gt;
  134. &lt;pathconvert targetos=&quot;unix&quot; property=&quot;wl.path.unix&quot; refid=&quot;wl.path&quot;&gt;
  135. &lt;map from=&quot;${wl.home}&quot; to=&quot;${wl.home.unix}&quot;/&gt;
  136. &lt;map from=&quot;c:&quot; to=&quot;&quot;/&gt;
  137. &lt;/pathconvert&gt;
  138. </pre>
  139. <p> will generate the path shown below
  140. and store it in the property named <code>wl.path.unix</code>.
  141. </p>
  142. <pre>
  143. /weblogic/lib/weblogicaux.jar:/weblogic/classes:/weblogic/mssqlserver4/classes:/WINNT/SYSTEM32
  144. </pre>
  145. <h4>Example 2</h4>
  146. Given a FileList defined as:
  147. <pre>
  148. &lt;filelist id=&quot;custom_tasks.jars&quot;
  149. dir=&quot;${env.HOME}/ant/lib&quot;
  150. files=&quot;njavac.jar,xproperty.jar&quot;/&gt;
  151. </pre>
  152. then:
  153. <pre>
  154. &lt;pathconvert targetos=&quot;unix&quot; property=&quot;custom_tasks.jars&quot; refid=&quot;custom_tasks.jars&quot;&gt;
  155. &lt;map from=&quot;${env.HOME}&quot; to=&quot;/usr/local&quot;/&gt;
  156. &lt;/pathconvert&gt;
  157. </pre>
  158. will convert the list of files to the following Unix path:
  159. <pre>
  160. /usr/local/ant/lib/njavac.jar:/usr/local/ant/lib/xproperty.jar
  161. </pre>
  162. <h4>Example 3</h4>
  163. <pre>
  164. &lt;fileset dir=&quot;${src.dir}&quot; id=&quot;src.files&quot;&gt;
  165. &lt;include name=&quot;**/*.java&quot;/&gt;
  166. &lt;/fileset&gt;
  167. &lt;pathconvert pathsep=&quot;,&quot; property=&quot;javafiles&quot; refid=&quot;src.files&quot;/&gt;
  168. </pre>
  169. <p>This example takes the set of files determined by the fileset (all files ending
  170. in <tt>.java</tt>), joins them together separated by commas, and places the resulting
  171. list into the property <tt>javafiles</tt>. The directory separator is not specified, so
  172. it defaults to the appropriate character for the current platform. Such a list could
  173. then be used in another task, like <tt>javadoc</tt>, that requires a comma separated
  174. list of files.
  175. </p>
  176. <hr>
  177. <p align="center">Copyright &copy; 2001-2004 The Apache Software Foundation.
  178. All rights Reserved.</p>
  179. </body>
  180. </html>