ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
使用
编写简单的build.xml(默认Ant会自动的在当前目录下去寻找这个文件,如果存在就去构建,如果找不到就会提示:build.xml does not exist!
创建build.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<project default="init">
<target name="init">
<mkdir dir="filetest" />
</target>
</project>
意思是:在当前目录下创建一个名字为filetest的目录
ant语法
Antd使用XML编写来构建项目。每个生成文件由单个project元素组成,该元素又包含一个或多个target元素。一个目标(target)是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。并且这些操作本身是由其他专用的任务标签执行的顶级的project元素需要包含一个default属性,如果在Ant被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用target元素来定义该目标本身。
属性
Ant中属性类似编程语言中的变量,具有名称和值。与通常的变量不同,一经设置,Ant中是属性就不可更改;看起来似乎很有限制性,但这样是为了遵循Ant的简单原则:因为它是一个生成工具,而非一种编程语言。如果尝试给某个现有的属性赋予一个新的值,这不会看作是一个错误,但是该属性仍然会保留其现有的值
定义使用属性
<property name=”metal” value=”test”/>
为了在生成文件的其他部分引用这个属性,使用以下语法:
${metal}
如果为了属性成为另一个属性的值的组成部分,将标签写成下面这样
<property name=”metal-database” value=”${metal}.db”/>
ant的location属性专门设计用于以平台无关的文件系统路径。例如使用location替代value:
<property name=”database-file” location=”archive/database/${metal}.db”/>
location属性的路径分隔字符会被转换为当前平台的正确格式;而且由于文件名是相对的,它被认为是相对于项目的基目录。可以容易地写为下面这样:
<property name=”database-file” location=”archive\database\${metal}.db”/>
这个标签的两个版本都会在不同的平台具有相同的行为
定义依赖关系
生成一个项目一般需要许多步骤。其中许多步骤都具有清楚定义的顺序。与顺序指定target所不同的是,Ant采用一种更灵活的方法来定义依赖关系。每个目标的定义依据的是它能够执行之前必须完成的其他所有目标。这是使用target元素的depends属性来实现的,makefile中也存在这种用依赖关系。
例如:
<target name=”init”/>
<target name=”preprocess” depends=”init”/>
<target name=”compile” depends=”init,preprocess”/>
<target name=”package” depends=”compile”/>
执行顺序是由depends属性唯一确定的。
其他大家自己去探索吧,祝玩得开心。
参考
构建工具:
http://www.cnblogs.com/super-d2/archive/2012/12/31/2840989.html