holtdl 02/03/30 13:37:41
Modified: docs/manual conceptstypeslist.html using.html
docs/manual/CoreTasks pathconvert.html
. WHATSNEW
src/main/org/apache/tools/ant/taskdefs PathConvert.java
Added: docs/manual/CoreTypes dirset.html
Log:
Document <dirset> and new <dirset>/<filelist> support for
<path> and <pathconvert> (and clean that puppy up!).
PathConvert.java is comment changes only, no code.
Revision Changes Path
1.4 +3 -2 jakarta-ant/docs/manual/conceptstypeslist.html
Index: conceptstypeslist.html
===================================================================
RCS file: /home/cvs/jakarta-ant/docs/manual/conceptstypeslist.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- conceptstypeslist.html 21 Mar 2002 08:58:09 -0000 1.3
+++ conceptstypeslist.html 30 Mar 2002 21:37:40 -0000 1.4
@@ -15,12 +15,13 @@
<a href="CoreTasks/common.html">Common Attributes</a><br>
<a href="CoreTypes/description.html">Description Type</a><br>
<a href="dirtasks.html">Directory-based Tasks</a><br>
+<a href="CoreTypes/dirset.html">DirSet</a><br>
<a href="CoreTypes/filelist.html">FileList</a><br>
<a href="CoreTypes/fileset.html">FileSet</a><br>
<a href="CoreTypes/mapper.html">File Mappers</a><br>
<a href="CoreTypes/filterchain.html">FilterChains and FilterReaders</a><br>
-<a href="CoreTypes/filterset.html">Filterset</a><br>
-<a href="CoreTypes/patternset.html">Patternset</a><br>
+<a href="CoreTypes/filterset.html">FilterSet</a><br>
+<a href="CoreTypes/patternset.html">PatternSet</a><br>
<a href="CoreTypes/xmlcatalog.html">XMLCatalog</a><br>
</body>
</html>
1.20 +18 -5 jakarta-ant/docs/manual/using.html
Index: using.html
===================================================================
RCS file: /home/cvs/jakarta-ant/docs/manual/using.html,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- using.html 25 Mar 2002 19:39:41 -0000 1.19
+++ using.html 30 Mar 2002 21:37:40 -0000 1.20
@@ -354,9 +354,13 @@
<pre>
<classpath path="${classpath}"/>
</pre>
-<p>In addition, <a href="CoreTypes/fileset.html">FileSet</a>s can be
specified via
-nested <code><fileset></code> elements. The order in which the files
-building up a fileset are added to the path-like structure is not
+<p>In addition, <a href="CoreTypes/dirset.html">DirSet</a>s,
+<a href="CoreTypes/fileset.html">FileSet</a>s, and
+<a href="CoreTypes/filelist.html">FileList</a>s
+can be specified via nested <code><dirset></code>,
+<code><fileset></code>, and <code><filelist></code>
+elements, respectively. <em>Note</em>: The order in which the files
+building up a FileSet are added to the path-like structure is not
defined.</p>
<pre>
<classpath>
@@ -365,11 +369,20 @@
<include name="**/*.jar"/>
</fileset>
<pathelement location="classes"/>
+ <dirset dir="${build.dir}">
+ <include name="apps/**/classes"/>
+ <exclude name="apps/**/*Test*"/>
+ </dirset>
+ <filelist refid="third-party_jars">
</classpath>
</pre>
<p>This builds a path that holds the value of <code>${classpath}</code>,
-followed by all jar files in the <code>lib</code> directory, followed
-by the <code>classes</code> directory.</p>
+followed by all jar files in the <code>lib</code> directory,
+the <code>classes</code> directory, all directories named
+<code>classes</code> under the <code>apps</code> subdirectory of
+<code>${build.dir}</code>, except those
+that have the text <code>Test</code> in their name, and
+the files specified in the referenced FileList.</p>
<p>If you want to use the same path-like structure for several tasks,
you can define them with a <code><path></code> element at the
same level as <i>target</i>s, and reference them via their
1.6 +57 -79 jakarta-ant/docs/manual/CoreTasks/pathconvert.html
Index: pathconvert.html
===================================================================
RCS file: /home/cvs/jakarta-ant/docs/manual/CoreTasks/pathconvert.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- pathconvert.html 3 Feb 2002 22:00:42 -0000 1.5
+++ pathconvert.html 30 Mar 2002 21:37:40 -0000 1.6
@@ -9,16 +9,16 @@
<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>Converts a nested <code><path></code> 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.
</p>
-<p>Prefix maps can be specified to map Windows drive letters to Unix paths
and vice
- versa.</p>
+<p>Nested <code><map></code> elements 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">
@@ -30,12 +30,14 @@
<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>
+ The target architecture. Must be one of 'unix' or 'windows'.
+ This is a shorthand mechanism for specifying both
+ <code>pathsep</code> and <code>dirsep</code>
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>.
+ Yes, unless <code>pathsep</code> and/or
+ <code>dirsep</code> are specified.
</td>
</tr>
<tr>
@@ -54,15 +56,18 @@
</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">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
+ <a href="../using.html#references">reference</a> to a
+ <code><path></code>, <code><fileset></code>,
+ <code><dirset></code>, or <code><fileset></code>
defined elsewhere</td>
- <td valign="top" align="center">No, if omitted a nested <path>
element must be supplied.</td>
+ <td valign="top" align="center">No; if omitted, a nested
+ <code><path></code> element must be supplied.</td>
</tr>
</table>
<h3>Parameters specified as nested elements</h3>
@@ -76,14 +81,14 @@
</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
+ <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">The replacement text to use when <code>from</code> is
matched.</td>
<td valign="top" align="center">Yes</td>
</tr>
</table>
@@ -92,87 +97,61 @@
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><strong>Note</strong>: 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 <code>from</code> values are
+prefixes of other <code>from</code> 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
+<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>
<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>
+<p>In the examples below, assume that the <code>${wl.home}</code> property
+has the value
+<code>d:\weblogic</code>, and <code>${wl.home.unix}</code> has the value
+<code>/weblogic</code>.</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" />
+ <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>
</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> will generate the path shown below
+and store it in the property named <code>wl.path.unix</code>.
</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>
+Given a FileList defined as:
<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>
+ <filelist id="custom_tasks.jars"
+ dir="${env.HOME}/ant/lib"
+ files="njavac.jar,xproperty.jar"/>
</pre>
-This generates the exact same path as the previous example. It demonstrates
the use of
-a nested path element.
-<h4>Example 3</h4>
+then:
<pre>
- <pathconvert targetos="unix" property="newpath"
refid="wl.path">
- <map from="d:" to="/foo"/>
- <map from="c:" to="/bar"/>
+ <pathconvert targetos="unix"
property="custom_tasks.jars" refid="custom_tasks.jars">
+ <map from="${env.HOME}" to="/usr/local"/>
</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>
+will convert the list of files to the following Unix path:
<pre>
-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
</pre>
-<h4>Example 5</h4>
+
+<h4>Example 3</h4>
<pre>
<fileset dir="${src.dir}" id="src.files">
<include name="**/*.java"/>
@@ -187,12 +166,11 @@
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>
+<p align="center">Copyright © 2001,2002 Apache Software Foundation.
+All rights Reserved.</p>
</body>
</html>
-
\ No newline at end of file
+
1.1 jakarta-ant/docs/manual/CoreTypes/dirset.html
Index: dirset.html
===================================================================
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>DirSet Type</title>
</head>
<body>
<h2><a name="dirset">DirSet</a></h2>
<p>DirSets are groups of directories. These directories can be found in a
directory tree starting in a base directory and are matched by
patterns taken from a number of <a
href="patternset.html">PatternSets</a>. DirSets can appear inside tasks
that support this feature or at the same level as <code>target</code>
(i.e., as children of <code><project></code>).</p>
<p>PatternSets can be specified as nested
<code><patternset></code> elements. In addition, DirSet holds
an implicit PatternSet and supports the nested
<code><include></code>, <code><includesfile></code>,
<code><exclude></code> and <code><excludesfile></code>
elements of <code><patternset></code> directly, as well as
<code><patternset></code>'s attributes.</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">dir</td>
<td valign="top">The root of the directory tree of this DirSet.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">includes</td>
<td valign="top">A comma-separated list of patterns of directories that
must be included; all directories are included when omitted.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">includesfile</td>
<td valign="top">The name of a file; each line of this file is
taken to be an include pattern.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">excludes</td>
<td valign="top">A comma-separated list of patterns of directories that
must be excluded; no directories are excluded when omitted.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">excludesfile</td>
<td valign="top">The name of a file; each line of this file is
taken to be an exclude pattern.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">Specifies whether case-sensitivty should be applied
(<code>true</code>|<code>yes</code>|<code>on</code> or
<code>false</code>|<code>no</code>|<code>off</code>).</td>
<td valign="top" align="center">No; defaults to true.</td>
</tr>
</table>
<h4>Examples</h4>
<blockquote><pre>
<dirset dir="${build.dir}">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
</pre></blockquote>
<p>Groups all directories named <code>classes</code> found under the
<code>apps</code> subdirectory of <code>${build.dir}</code>, except those
that have the text <code>Test</code> in their name.</p>
<blockquote><pre>
<dirset dir="${build.dir}">
<patternset id="non.test.sources">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</patternset>
</dirset>
</pre></blockquote>
<p>Groups the same directories as the above example, but also establishes
a PatternSet that can be referenced in other
<code><dirset></code> elements, rooted at a different directory.</p>
<blockquote><pre>
<dirset dir="${debug_build.src}" >
<patternset refid="non.test.sources"/>
</dirset>
</pre></blockquote>
<p>Groups all files in directory <code>${debug_build.src}</code>, using the
same patterns as the above example.</p>
<hr>
<p align="center">Copyright © 2001,2002 Apache Software Foundation.
All rights Reserved.</p>
</body>
</html>
1.239 +8 -2 jakarta-ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/jakarta-ant/WHATSNEW,v
retrieving revision 1.238
retrieving revision 1.239
diff -u -r1.238 -r1.239
--- WHATSNEW 30 Mar 2002 13:16:01 -0000 1.238
+++ WHATSNEW 30 Mar 2002 21:37:41 -0000 1.239
@@ -251,8 +251,14 @@
* Perforce tasks now support a "failonerror" attribute (defaults to "true").
-* Open Source application server JOnAS support :
- EJB hot deploy and deploy with <serverdeploy> and <ejbjar>
+* Open Source application server JOnAS support:
+ EJB hot deploy and deploy with <serverdeploy> and <ejbjar>
+
+* Added new DirSet (<dirset>) datatype.
+
+* <path> now supports nested <dirset> and <filelist> elements.
+
+* <pathconvert> now supports nested <dirset> and <filelist> elements.
Changes from Ant 1.4 to Ant 1.4.1
===========================================
1.12 +7 -6
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/PathConvert.java
Index: PathConvert.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/PathConvert.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- PathConvert.java 30 Mar 2002 01:03:40 -0000 1.11
+++ PathConvert.java 30 Mar 2002 21:37:41 -0000 1.12
@@ -184,15 +184,16 @@
}
/**
- * Set the value of the proprty attribute - this is the property into
which our
- * converted path will be placed.
+ * Set the value of the property attribute - this is the property
+ * into which our converted path will be placed.
*/
public void setProperty( String p ) {
property = p;
}
/**
- * Adds a reference to a PATH or FILESET defined elsewhere.
+ * Adds a reference to a Path, FileSet, DirSet, or FileList defined
+ * elsewhere.
*/
public void setRefid(Reference r) {
if( path != null ) {
@@ -312,8 +313,8 @@
if( size != 0 ) {
- // Iterate over the map entries and apply each one. Stop when
one of the
- // entries actually changes the element
+ // Iterate over the map entries and apply each one.
+ // Stop when one of the entries actually changes the element.
for( int i=0; i < size; i++ ) {
MapEntry entry = (MapEntry)prefixMap.elementAt(i);
@@ -379,7 +380,7 @@
* not have child elements if the refid attribute is set.
*/
private BuildException noChildrenAllowed() {
- return new BuildException("You must not specify nested PATH elements
when using refid");
+ return new BuildException("You must not specify nested <path>
elements when using the refid attribute.");
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>