技术开发 频道

实战每晚构建之主要技术

    目标依赖性

    了解ant的另外一点是target的依赖性,上面这个比较复杂一点的build.xml的依赖性如下图所示:

 

    这样的依赖图使得执行命令ant init 时先执行init.variable目标中的指令,执行clean目标时先执行依次执行init.variables和init目标。

    到目前为止,还没有哪一个集成工具开发出自动分析ant配置文件依赖性图的插件,但是命令行下已经有了。

    这个工具名叫vizant,也就是一个实现了扩展ant任务的jar文件,还包含了一些文档和例子,下面是我产生上面的目标依赖图的build.xml

 

    <?xml version="1.0"?>

    
<!-- $Id: build.xml,v 1.1 2003/04/29 10:25:12 gongys Exp $ -->

    
<project name="Vizant" basedir="." default="dot">

    
<property name="build" location="output"/>

    
<property name="vizant.antfile" value="${buildfile}"/>

    
<property name="dot.format" value="png"/>

    
<target name="init">

    
<echo message="${vizant.antfile}" />

    
<tstamp/>

    
<mkdir dir="${build}"/>

    
</target>

    
<target name="defvizant">

    
<taskdef name="vizant" classname="net.sourceforge.vizant.Vizant" classpath="vizant.jar"/>

    
</target>

    
<target name="vizant" depends="defvizant,init">

    
<vizant antfile="${vizant.antfile}" outfile="${build}/build.dot" uniqueref="true"/>

    
</target>

    
<target name="dot" depends="vizant">

    
<exec executable="${basedir}/dot.exe" v

    
<arg line="-T${dot.format} ${build}/build.dot -o ${build}/out.${dot.format}"/>

    
</exec>

    
</target>

    
</project>

    你在要分析的项目目录下执行如下命令便可在output/out.png的依赖图形文件。

    gongys$ ant -f vizant/build.xml -Dbuildfile=build.xml

    -f vizant/build.xml定义了ant配置文件,-Dbuildfile=build.xml定义了要分析的ant配置文件。

0
相关文章