ant数据元素property和datatype

数据类型分为两类:

1.特性<property>元素

在构建文件中使用<property>标签表示的名-健值

property元素具有顺序性,下面的代码中

<property name="name1" value="${name2}"/>
<property name="name2" value="value2"/>

生成的数据位${name2}不会是value2,因为property具有顺序性

property元素是全局级元素也就是说你在<target>元素定义的<property>属性,在其他地方也可以访问到

2.DataType

一类表示复杂数据集合的元素例如fileset和path

2.1.argument
对于由一个Ant构建文件调用的程序,向其传递命令行参数
apply、exec和java任务均接受嵌套<arg>元素,可以为其各自的过程调用命令行参数。
2.2.environment
对于由一个Ant构建文件调用的外部命令或程序,指定向其传递的环境变量
2.3.filelist
定义一个文件的命名列表,这些文件无需确实存在
支持的属性:
 dir(必须项)
 用于计算文件名的目录
 files(必须项)
 用于逗号分隔的文件名列表(在dir指定的目录下)
 refid
 对某处定义的一个<filelist>的引用
2.4.fileset
定义一个文件的命名列表,这些文件必须存在
 支持的属性:
 dir
 fileset的基目录
 casesensitive
 如果设置为false,那么在匹配文件名时,fileset不是区分大小写的。
defaultexcludes
确定是否使用默认的排除模式。默认为true
excludes
 用于逗号分隔的需要排除的文件模式列表。这是对默认排除模式的补充。
excludesfile
每行包括一个排除模式的文件的文件名。
includes
用逗号分隔的需要包含的文件模式列表
includesfile
每行包括一个包含模式的文件的文件名
内部包含的元素
<patternset>
<exclude>
<include>
<excludesfile>
<includesfile>
2.5.patternset
将一组模式分组在一起
如果fileset是对文件的分组,那么patterset可以理解为是对模式的分组
支持的属性:
includes
excludes
includesfile
excludesfile
支持的内嵌元素:
<include> 支持属性 name if unless
<exclude>支持属性 name if unless
<includesfile> 支持属性 name if unless
<excludesfile>支持属性 name if unless
2.6.filterset
将一组过滤器分组在一起
允许定义一组过滤器,这些过滤器将在文件移动或者复制时完成文件中的文本替换。这称为记号过滤。若在输入文件中发现某些记号则会出现此文本替换
filterset由<filterset>元素表示。<filterset>元素可能作为copy和move任务重嵌套的内容出现,或者作为目标级构建文件元素出现(即<project>的子元素)
支持属性:
 begintoken
  对于嵌套过滤器所搜索的记号,这是标识启开始的字符串。默认值为@
endtoken
 对于嵌套过滤器所搜索的记号,这是标识其结束的字符串。默认值为@
id
对此过滤器的唯一标识符。
refid
对构建文件中某处定义的一个过滤器的引用
支持的元素:
<filter>token指定要替换的符号,不包括定界符 value指定遇到记号时替换文本
<filtersfile> file
2.7.path
以某种在不同操作系统间可移植的方式指定路径(如类路径)
有时称为路径形式的结构。它可以用作一个属性或一个嵌套元素。path最常用于表示一个类路径,不过也可用于其它用途的路径。在用作一个属性时,路径中的各项用分号(;)或冒号(:)字符隔开,在构件时,此分隔符将代之以当前平台所用的路径分隔符。
支持的属性:
location
表示一个文件或目录
path
 一个文件或者路径名列表,并以;或者:分隔
refid
对当前构建文件中某处定义的一个paht的引用。
支持的元素:
<pathelement>
定义一个或多个要包含在path中的文件。每个pathelement就像包含它的path父元素一样,还支持location和path属性
<fileset>
提供将文件包含在path中的另一种语法
<path>
2.8.mapper
定义一组源文件和一组目标文件间如何相关
支持属性:
classname
实现mapper的类的类名。当内置mapper不足以满足要求时,用于创建定制的mapper
classpath
查找一个定制mapper时所用的类路径
classpathref
对某处定义一个类路径的引用
from
取决于所用的mapper
refid
对另一个mapper引用。
to
取决于所用的mapper
type
取值为identity、flatten、glob、merge或regexp其中之一

identity mapper
将源文件与同名的目标文件进行匹配。这是copy任务所使用的默认mapper.所以很少使用自定义自己的identity mapper
<mapper type="identity"/>



 flatten mapper
从文件名中删除所有路径信息。如果希望从多个不同目录中将一组文件复制到一个目录中,非常有用的
<mapper type="flatten"/>

 glob mapper
glob mapper基于简单的统配模式确定目标文件名。若要对已经有一致文件名(如以Test.jara结尾)的一组文件重命名,这非常有用的。to和from定义了模式,其中最多有一个*字符
<mapper type="glob" from="*Test.java" to="*UnitTest.java"/>

 

 regexp mapper
regexp mapper类似于gold mapper,不过使用的是正则表达式而不是简单的*字符。这些正则表达式的具体语法完全取决于所用的底层正则表达式库

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值