一、编写一个简单的构建文件
Ant的构建文件都写在XML中。每个构建文件包含一个project和至少一个(默认值)target。 target包含了一些task元素。每一个task元素可以有一个id属性(attribute)可以被引用。
二、Project
一个project有如下三个属性(attribute):
- name属性 用于指定project元素的名称。
- default属性 用于没有提供目标时所默认执行的target的名称
- basedir属性 用于指定基路径的位置。该属性没有指定时,使用Ant的构件文件的父目录作为基准目录。
每个project定义了一个或多个target。一个target是一组要执行的任务。 当开始运行ant,你可以选择哪一个任务组被执行。当没有目标下达后,则project的默认值被执行。
三、Target
target可能依赖于其它的target而存在。你可能用一个target用来编译,用另一个target且用来布署。 只有编译完成后,布署才可执行,这样布署就依赖于编译。 要说明的是 ant的depends attribute只是规定了 target之间的前后执行关系,并不表示真正的依赖性。依赖的次序是按照排列次序从左到右。
但如果这些依赖本身之间还有依赖关系,也可能在后面的先执行.
1、name属性
指定target元素的名称,这个属性在一个project元素中是唯一的。我们可以通过指定target元素的名称来指定某个target。
2、depends属性
用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以”,”间隔。Ant会依照depends属性中target 出现的顺序依次执行每个target。被依赖的target会先执行。
3、if属性
用于验证指定的属性是否存在,若不存在,所在target将不会被执行。
4、unless属性
该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在target将会被执行。
5、description属性
该属性是关于target功能的简短描述和说明。 如下列子:
<target name="A"/>
<target name="B" depends="A"/>
<target name="C" depends="B"/>
<target name="D" depends="C,B,A"/>
执行顺序依次为:A –> B –> C –> D
四、property
property类似于变量,可以提供给build.xml中的其他元素使用,project的属性可以通过property元素来设定 Ant提供了一些内置的属性
basedir | 项目的绝对路径 |
ant.file | 构建文件的绝对路径 |
ant.version | Ant版本 |
ant.project.name | 当前正在执行的项目名称 |
ant.project.default-target | 当前正在执行项目默认target名称 |
ant.core.lib | 文件ant.jar的绝对路径 |
ant.home | Ant的根目录 |