blob: 3611b3dfa4a1615b0846e2213501b06a985e9671 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>FilterSet Type</TITLE>
</HEAD>
<BODY>
<H2><A name="filterset">FilterSet</A></H2>
<P>FilterSets are groups of filters. Filters can be defined as token-value
pairs
or be read in from a file. FilterSets can appear inside tasks that support this
feature or at the same level as <CODE>&lt;target&gt;</CODE> - i.e., as
children of
<CODE>&lt;project&gt;</CODE>.</P>
<p>FilterSets support the <code>id</code> and <code>refid</code>
attributes. You can define a FilterSet with an <code>id</code>
attribute and then refer to that definition from another FilterSet
with a <code>refid</code> attribute. It is also possible to nest
filtersets into filtersets to get a set union of the contained
filters.</p>
<p>In addition, FilterSets can specify
<code>begintoken</code> and/or
<code>endtoken</code> attributes to define what to match.</p>
<p>Filtersets are used for doing
replacements in tasks such as <code>&lt;copy&gt;</code>, etc.</p>
<H2>Filterset</H2>
<TABLE cellSpacing=0 cellPadding=2 border=1>
<TR>
<TD vAlign=top><B>Attribute</B></TD>
<TD vAlign=top><B>Description</B></TD>
<TD vAlign=top><B>Default</B></TD>
<TD vAlign=top align="center"><B>Required</B></TD>
</TR>
<TR>
<TD vAlign=top>begintoken</TD>
<TD vAlign=top>The string marking the beginning of a token (eg.,
<code>&#64;DATE&#64;</code>).</TD>
<TD vAlign=top>@</TD>
<TD vAlign=top align="center">No</TD>
</TR>
<TR>
<TD vAlign=top>endtoken</TD>
<TD vAlign=top>The string marking the end of a token (eg.,
<code>&#64;DATE&#64;</code>).</TD>
<TD vAlign=top>@</TD>
<TD vAlign=top align="center">No</TD>
</TR>
</TABLE>
<H2>Filter</H2>
<TABLE cellSpacing=0 cellPadding=2 border=1>
<TR>
<TD vAlign=top><B>Attribute</B></TD>
<TD vAlign=top><B>Description</B></TD>
<TD vAlign=top align="center"><B>Required</B></TD>
</TR>
<TR>
<TD vAlign=top>token</TD>
<TD vAlign=top>The token to replace (eg., <code>&#64;DATE&#64;</code>)</TD>
<TD vAlign=top align="center">Yes</TD>
</TR>
<TR>
<TD vAlign=top>value</TD>
<TD vAlign=top>The value to replace it with
(eg., <code>Thursday, April 26, 2001</code>).</TD>
<TD vAlign=top align="center">Yes</TD>
</TR>
</TABLE>
<H2>Filtersfile</H2>
<TABLE cellSpacing=0 cellPadding=2 border=1>
<TR>
<TD vAlign=top><B>Attribute</B></TD>
<TD vAlign=top><B>Description</B></TD>
<TD vAlign=top align="center"><B>Required</B></TD>
</TR>
<TR>
<TD vAlign=top>file</TD>
<TD vAlign=top>A properties file of
name-value pairs from which to load the tokens.</TD>
<TD vAlign=top align="center">Yes</TD>
</TR>
</TABLE>
<H4>Examples</H4>
<p>You are copying the <code>version.txt</code> file to the <code>dist</code>
directory from the <code>build</code> directory
but wish to replace the token <code>&#64;DATE&#64;</code> with today's date.</p>
<BLOCKQUOTE><PRE>
&lt;copy file=&quot;${build.dir}/version.txt&quot; toFile=&quot;${dist.dir}/version.txt&quot;&gt;
&lt;filterset&gt;
&lt;filter token=&quot;DATE&quot; value=&quot;${TODAY}&quot;/&gt;
&lt;/filterset&gt;
&lt;/copy&gt;
</PRE></BLOCKQUOTE>
<p>You are copying the <code>version.txt</code> file to the <code>dist</code>
directory from the build directory
but wish to replace the token <code>%DATE*</code> with today's date.</p>
<BLOCKQUOTE><PRE>
&lt;copy file=&quot;${build.dir}/version.txt&quot; toFile=&quot;${dist.dir}/version.txt&quot;&gt;
&lt;filterset begintoken=&quot;%&quot; endtoken=&quot;*&quot;&gt;
&lt;filter token=&quot;DATE&quot; value=&quot;${TODAY}&quot;/&gt;
&lt;/filterset&gt;
&lt;/copy&gt;
</PRE></BLOCKQUOTE>
<p>Copy all the docs but change all dates and appropriate notices as stored in a file.</p>
<BLOCKQUOTE><PRE>
&lt;copy toDir=&quot;${dist.dir}/docs&quot;&gt;
&lt;fileset dir=&quot;${build.dir}/docs&quot;&gt;
&lt;include name=&quot;**/*.html&quot;&gt;
&lt;/fileset&gt;
&lt;filterset begintoken=&quot;%&quot; endtoken=&quot;*&quot;&gt;
&lt;filtersfile file=&quot;${user.dir}/dist.properties&quot;/&gt;
&lt;/filterset&gt;
&lt;/copy&gt;
</PRE></BLOCKQUOTE>
<p>Define a FilterSet and reference it later.</p>
<BLOCKQUOTE><PRE>
&lt;filterset id=&quot;myFilterSet&quot; begintoken=&quot;%&quot; endtoken=&quot;*&quot;&gt;
&lt;filter token=&quot;DATE&quot; value=&quot;${TODAY}&quot;/&gt;
&lt;/filterset&gt;
&lt;copy file=&quot;${build.dir}/version.txt&quot; toFile=&quot;${dist.dir}/version.txt&quot;&gt;
&lt;filterset refid=&quot;myFilterSet&quot;/&gt;
&lt;/copy&gt;
</PRE></BLOCKQUOTE>
<HR>
<P align=center>Copyright &copy; 2001-2002 Apache Software Foundation.
All rights Reserved.</P></BODY></HTML>