Google

FilterSet

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 <target> - i.e., as children of <project>.

FilterSets support the id and refid attributes. You can define a FilterSet with an id attribute and then refer to that definition from another FilterSet with a refid attribute. It is also possible to nest filtersets into filtersets to get a set union of the contained filters.

In addition, FilterSets can specify begintoken and/or endtoken attributes to define what to match.

Filtersets are used for doing replacements in tasks such as <copy>, etc.

Filterset

Attribute Description Default Required
begintoken The string marking the beginning of a token (eg., @DATE@). @ No
endtoken The string marking the end of a token (eg., @DATE@). @ No

Filter

Attribute Description Required
token The token to replace (eg., @DATE@) Yes
value The value to replace it with (eg., Thursday, April 26, 2001). Yes

Filtersfile

Attribute Description Required
file A properties file of name-value pairs from which to load the tokens. Yes

Examples

You are copying the version.txt file to the dist directory from the build directory but wish to replace the token @DATE@ with today's date.


<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">

  <filterset>

    <filter token="DATE" value="${TODAY}"/>

  </filterset>

</copy>

You are copying the version.txt file to the dist directory from the build directory but wish to replace the token %DATE* with today's date.


<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">

  <filterset begintoken="%" endtoken="*">

    <filter token="DATE" value="${TODAY}"/>

  </filterset>

</copy>

Copy all the docs but change all dates and appropriate notices as stored in a file.


<copy toDir="${dist.dir}/docs">

  <fileset dir="${build.dir}/docs">

    <include name="**/*.html">

  </fileset>

  <filterset begintoken="%" endtoken="*">

    <filtersfile file="${user.dir}/dist.properties"/>

  </filterset>

</copy>

Define a FilterSet and reference it later.


<filterset id="myFilterSet" begintoken="%" endtoken="*">

  <filter token="DATE" value="${TODAY}"/>

</filterset>



<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">

  <filterset refid="myFilterSet"/>

</copy>


Copyright © 2001-2002 Apache Software Foundation.