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.
| 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 |
| Attribute | Description | Required |
| token | The token to replace (eg., @DATE@) |
Yes |
| value | The value to replace it with
(eg., Thursday, April 26, 2001). |
Yes |
| Attribute | Description | Required |
| file | A properties file of name-value pairs from which to load the tokens. | Yes |
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. All rights Reserved.