Ant中過濾器的使用

Ant中過濾器的使用

<?xml version="1.0"?>

<project name="access" default="show" basedir=".">
<!--
將一組需要過濾的值寫入一個過濾文件,過濾文件的
格式與一般的屬性文件相同,如下:
month=12
year=2008
-->
<filter filtersfile="filter.properties"/>

<!--
定義一個過濾器
-->
<filter token="time" value="14時7分"/>

<target name="show">
<mkdir dir="dest"/>
<!-- 在copy中添加filtering屬性啓動過濾器 -->
<copy todir="dest" filtering="true">
<fileset dir="src"/>
</copy>
</target>
</project>
該過濾器的作用就是將src下面的文件複製到dest目錄下面.而且將src下面,凡是包含@year@,@month@,@time@的字符進行替換(是指src文件夾下面文件中的內容,不是指文件名)。另外還可以使用filterset標籤,它也可以引用外部filter文件,也可以在內容指定一組filter,如下:



與單純地使用filter相比,filterset的功能要強大一點,使用得被替換的字符不僅限制於以@開始和結束的變量了,你可以自己定義(使用begintoken和endtoken)。

<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
<filterset>
<filter token="DATE" value="${TODAY}"/>
</filterset>
</copy>

<!-- 自定義變量的格式 -->
<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
<filterset begintoken="%" endtoken="*">
<filter token="DATE" value="${TODAY}"/>
</filterset>
</copy>

<!-- 使用外部的過濾定義文件 -->
<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>

<!-- 使用引用方式,重複利用過濾集 -->
<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>


[url]http://www.cnblogs.com/ungshow/archive/2008/12/30/1365249.html[/url]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章