认识基础任务标签(下)—ant入门指南(4)
来源:互联网 发布:大数据 颠覆 编辑:程序博客网 时间:2024/05/17 03:27
5.echo:向ant控制台打印消息
echo在调试ant任务时非常有用,也可以在任务执行后打印一些任务完成提示消息等。
实际上echo也可以把消息打印到指定文件,形成build日志,只需要指定file参数即可。
属性
说明
message
想要打印的消息
file
消息打印到指定文件
append
将消息追加到已经存在的文件
level
指定消息的类型,有”error”, “warning”, “info”, “verbose”, “debug”
来看典型的echo任务代码:
<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>
明河这里将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’验证页面的密码
来看个demo代码:
<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
指定文件修改时间
创建一个myfile文件,最后修改时间为当前时间。
<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入门指南(4)
- 认识基础任务标签—ant入门指南(3)
- 认识基础任务标签(上)—ant入门指南(3)
- ant入门指南(4)
- property—ant入门指南(5)
- dataType—ant入门指南(6)
- ant入门指南(1)
- ant入门指南(2)
- ant入门指南(3)
- ant入门指南(5)
- ant入门指南(6)
- 构建文件入门—ant入门指南(2)
- 构建文件入门—ant入门指南(2)
- HTML认识标签(下)
- 项目build实战—ant入门指南(9)
- ant结合jsdoc构建js文档—ant入门指南(8)
- JavaScript入门指南---(一)、认识JavaScript
- ant 认识(二)
- PB 使用utl_file讀寫oracle bfile的封裝.
- PCA的数学原理
- 获取android手机信息
- 【LeetCode】Merge Sorted Array
- CoreData学习-最好的一片文章
- 认识基础任务标签(下)—ant入门指南(4)
- 任正非谈:华为会怎么失败,华为会怎么垮掉?
- 程序通用算法和库
- DVRRDK, EZSDK和DVSDK这三者有什么区别
- 将不知位数的数进行反转后输出
- 9个offer,12家公司,35场面试,从微软到谷歌
- 博弈论--巴什博弈——HDU1846
- 想你的唇你的美
- 【从零学习openCV】IOS7下的openCV开发起步(Xcode5.1.1&openCV2.49)