用Ant构建脚本(4)
五、Ant相关
1、标识过滤器
一个项目有一套标识,如果发现当一个文件被拷贝时,或许能自动进行扩充。当在这个支持任务中选择了过滤器-拷贝行为,才支持这种方式。在buildfile中,通过过滤器任务或许能设置它。
因为这能导致很大的潜在危害,在任务中标识的标识名在文件中必须以@token@的形式给出。这个标识语法匹配其它建立的系统的语法,该系统完成过滤并保留足够地程序和脚本语言的相交部分,如同文献系统。
※※注意:如果在一个文件中出现了带有@token@的标识,但却又没有任何过滤器与其相联系,这将不发生改变。因此,没有避免的方法可以用,但是只要你选择了合适的标识名,这不会产生任何问题。
警告:如果你拷贝二进制文件用过滤器来打开,你会被中断。因为这个特征只适用于文本文件。
2、象路径一样的结构
你可以指定PATH-和CLASSPATH-type引用,通过用“:”和“;”作为分隔符。Ant会为当前操作系统转换分隔符为正确的字符。
无论什么情况下,象路径一样的值是需要指定的,元素嵌套也可以用。下面这个是通常的结构:
属性的位置指定了一个单个的文件或羡慕基本目录的相关目录,路径属性可用带冒号或分号分隔开的位置列表。它需要预先指定,换句话说,带位置属性的多个元素都应该被指定。
另外,通过嵌套的、和元素,能指定DirSet、FileSet和FileList。
如果你想为几个任务使用同样的路径结构,你可以在同一级的target中用元素来定义它,然后通过id属性来引用它。
例如:
3、命令行参数
有几个带参数的任务可以在命令行中得到处理。指定包含空格符的参数使它变得更容易,嵌套的arg元素也能使用。
value,一个单个的命令行参数,能包含空格;
file,作为命令行参数的文件名,执行时以文件的绝对名来代替;
path,作为象路径的字符串来处理,作为单个的命令行参数,可以使用“;”或“:”来作为分隔符,Ant会把它转换为本地平台的习惯。
line,命令行参数的空格定界线列表。
如果可能,尽量避免使用命令行方式。
4、参考
buildfile元素的id属性能用来引用它们自己。这有助于到处复制一个XML小片断,例如:
可以写成如下: