认识基础任务标签(下)—ant入门指南(4)
2014-05-25 18:12
369 查看
[align=center]认识基础任务标签(下)—ant入门指南(4)[/align]
实际上echo也可以把消息打印到指定文件,形成build日志,只需要指定file参数即可。
来看典型的echo任务代码:
echo打印property属性值,是个非常常用的调试技巧。
上述代码中有个dirname,这个任务是用来做啥的呢?接下去看。
来看下使用代码:
ant.file这个属性是系统自带的,为当前运行的构建文件路径。
明河这里将dirname和property进行比较,二者的输出有明显的区别,dirname只输出目录,property输出完成文件路径,如下图
示例代码
available的value值永远为一个布尔值。
来看个demo代码:
运行后,如下图:
如果要把一批url保存下来该如何处理呢?
上述代码会输出如下内容:
在step1目标中我们定义了,类似编程语言中的局部变量,改变后foo的输出值为bar,不再是原来定义的foo,有意思的是原来的值不会发生改变,step2目标验证了这一点。也就是说在step1内部定义了local 后,foo这个property的修改不会影响外部property的值。
local这个任务在sequential(循环)中非常常用,讲到sequential时再演示其用法。
创建一个myfile文件,最后修改时间为当前时间。
创建一个myfile文件,最后修改时间为18/10/2010 2:02 pm。
转自:http://www.36ria.com/4534
5.echo:向ant控制台打印消息
echo在调试ant任务时非常有用,也可以在任务执行后打印一些任务完成提示消息等。实际上echo也可以把消息打印到指定文件,形成build日志,只需要指定file参数即可。
属性 | 说明 |
message | 想要打印的消息 |
file | 消息打印到指定文件 |
append | 将消息追加到已经存在的文件 |
level | 指定消息的类型,有”error”, “warning”, “info”, “verbose”, “debug” |
<echo message="Hello, world"></echo> <echo>Hello, world</echo> <dirname file="./" property="current.dir"></dirname> <echo>${current.dir}</echo>
echo打印property属性值,是个非常常用的调试技巧。
上述代码中有个dirname,这个任务是用来做啥的呢?接下去看。
6.dirname:获取文件的目录路径
dirname只有二个参数:属性 | 说明 |
file | 文件路径 |
property | 指定属性名称 |
<project default="build" name="test"> <target name="build"></target> <dirname file="${ant.file}" property="antfile.dir"></dirname> <property location="${ant.file}" name="antfile2.dir"></property> <echo message="${antfile.dir}"></echo> <echo>${antfile2.dir}</echo> </project>
ant.file这个属性是系统自带的,为当前运行的构建文件路径。
明河这里将dirname和property进行比较,二者的输出有明显的区别,dirname只输出目录,property输出完成文件路径,如下图
7.available:验证文件、目录、类的存在性
available任务在防止ant构建时因为文件或目录不存在导致的错误时非常有用。属性 | 说明 |
property | 属性名 |
value | 属性值,默认为true |
file | 需要验证的文件 |
type | file的类型,验证目录(type=”dir”) or 验证文件 (type=”file”) |
<project default="build" name="test"> <target name="build"></target> <dirname file="${ant.file}" property="antfile.dir"></dirname> <property location="${antfile.dir}/ui.js" name="ui"></property> <available property="is" type="file" file="${ui}"></available> <echo>${is}</echo> </project>
available的value值永远为一个布尔值。
8.get:从url中获取文件
get用于快速将远程文件保存到指定位置,不止支持http:协议,ftp:,jar:也都是可以的。属性 | 说明 |
src | 源url |
dest | 目标路径 |
verbose | 是否显示下载进度(100 Kb显示一个“.”) |
usetimestamp | 显示最后修改时间 |
username | ‘BASIC’验证页面的用户名 |
password | ‘BASIC’验证页面的密码 |
<project default="build" name="test"> <target name="build"></target> <dirname file="${ant.file}" property="antfile.dir"></dirname> <get usetimestamp="true" verbose="true" dest="${antfile.dir}/36ria-index.html" src="http://www.36ria.com/"></get> </project>
运行后,如下图:
如果要把一批url保存下来该如何处理呢?
<get dest="downloads"> <url url="http://ant.apache.org/index.html"/> <url url="http://ant.apache.org/faq.html"/> </get>
9.local:增加个局部属性
为了更好说明local用法,明河先贴出demo代码:<property value="foo" name="foo"></property> <target name="step1"> <echo>Before local: foo is ${foo}</echo> <local name="foo"></local> <property value="bar" name="foo"></property> <echo>After local: foo is ${foo}</echo> </target> <target name="step2" depends="step1"> <echo>In step2: foo is ${foo}</echo> </target>
上述代码会输出如下内容:
在step1目标中我们定义了,类似编程语言中的局部变量,改变后foo的输出值为bar,不再是原来定义的foo,有意思的是原来的值不会发生改变,step2目标验证了这一点。也就是说在step1内部定义了local 后,foo这个property的修改不会影响外部property的值。
local这个任务在sequential(循环)中非常常用,讲到sequential时再演示其用法。
10.touch:创建文件,并可以修改文件修改时间
属性 | 说明 |
file | 文件名称 |
datetime | 指定文件修改时间 |
<touch file="myfile"></touch>
创建一个myfile文件,最后修改时间为18/10/2010 2:02 pm。
<touch datetime="18/10/2010 2:02 pm" file="myfile"></touch>
转自:http://www.36ria.com/4534
相关文章推荐
- 认识基础任务标签(上)—ant入门指南(3)
- 认识基础任务标签—ant入门指南(3)
- jquery 指南/入门基础
- photoshop入门基础教程:认识熟悉色阶
- Ant 入门基础
- ant 入门使用指南
- Ant系列四: 常用任务标签
- [MySQL基础]MySQL入门指南
- 用Ant实现Java项目的自动构建和部署入门基础
- 初级软件测试工程师零基础入门指南
- linux入门指南(基础教程)
- 【Android基础入门〖17〗】自定义标签 和 自定义组件
- 教你快速掌握一个简单的Oracle定时任务-入门基础
- 关于数组的认识01 - 零基础入门学习Delphi15
- 关于数组的认识01 - 零基础入门学习Delphi15
- Ant之build.xml基础入门
- Java IDE-NetBeans IDE 4.1 入门指南-Java基础-Java-编程开发
- 关于数组的认识02 - 零基础入门学习Delphi16
- ant 入门使用指南
- 【Android基础入门〖17〗】自定义标签 和 自定义组件