Ant内置任务之subant

一、概述

        subant是Ant内置任务,用于对所有子构建调用指定的target,是ant对于批量项目执行的扩展,如果此任务调用其所在的文件,此任务必须在target中。ant1.6起subant在内部使用ant。subant通过目录设置来执行不同目录下的构建,提供两种不同的选择:1)使用genericantfile属性对于不同的基本目录执行相同的构建文件 /somepath/otherpath/build.xml,在这种情况下,基本目录分别设置为每个子目录的路径;2)使用antfile属性,运行不同目录下同名的构建文件,在这种情况下不会设置基本目录,可以在每个构建文件中指定。

二、属性

        antfile:构建文件名,与目录一起使用,默认为build.xml,如果设置了genericantfile属性,则忽略此属性。
        buildpath:用于查找子项目的构建路径。
        buildpathref:构建路径的引用。
        failonerror:产生错误时,构建是否失败,或者继续执行。
        genericantfile:构建文件路径,与目录一起使用。
        inheritall:如果为true,会将所有属性传递到新的project,默认为false。如果为false,那么只有命令行中的参数会被传递到新的porject中。无论true还是false传入新project的属性都会覆盖新的project中的属性,默认为false。
        inheritrefs:如果为true,会将所有引用传递到新的project,默认为false。
        output:写入ant输出的文件名。
        target:要执行的target名称。
        verbose:在进入/退出每个子构建路径时启用/禁用日志信息,默认为false。

        支持的嵌套元素:
        基于文件系统的资源集合:ant1.7之前只支持fileset、dirset和filelist。
        dirset:将目录添加到隐式构建路径中。添加到构建路径中的目录没有特定的顺序,如果要保证顺序,则应使用filelist。
        filelist:将文件添加到隐式构建路径中。添加到构建路径中的文件是有顺序的,filelist可以引用不存在的文件或目录。
        fileset:将文件添加到隐式构建路径中。添加到构建路径中的目录没有特定的顺序。
        property:这些属性与命令行中定义的属性等效。无论inheritall为true还是false,这些属性都会被传递。refid指向的是调用项目而不是被调用的。
        propertySet:设置一组属性。
        buildpath:创建嵌套的构建路径,并将其添加到隐式构建路径中。
        buildpathelement:创建嵌套的构建路径元素,并将其添加到隐式构建路径中。
        target:ant1.7起,可以使用嵌套target元素替代target来执行多个target,这些target将执行,就像Ant被单个的target调用,而它的依赖项就是指定顺序的target,具有一个name属性用于指定要调用的target名称。
        

三、简单示例

        file/build.xml

<project >
	<target name="test">
		<echo>this is file\build.xml,basedir is ${basedir}</echo>
	</target>
</project>

        build.xml

<project default="subant">
	<target name="subant">
		<subant target="test" genericantfile="file/build.xml" verbose="true">
			<dirset dir="." includes="t*" />
		</subant>
	</target> 
	
	<!--<target name="subant">
		<subant target="test" antfile="build.xml" >
			<dirset dir="." includes="t*" />
		</subant>
	</target>-->
</project>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值