Ant管理

1. Ant文件之间的架构组织, 大的Ant文件旗下的Ant文件进行管理

inheritrefs 让引用可以传递到下一个xml中; dir 相当于设置了引入的下一个xml的basedir
<ant antfile="GalaxyCI.xml" dir="${project.com.huawei.galaxy.util}" inheritrefs="true"></ant>

2. 全局变量和局部变量,通过<ant/>引入的xml成就了一个局部的模块管理,里面的变量具有局部性质。这个局部变量,如果要引入全局的变量,建议的方式是引入一个全局的properties文件
<property file="global.properties" location="../GalaxyC-I"/>

3. 另外有一个不推荐的方式是引入其它的xml, 这种方式只是copy文件内容到当前的xml中, 首先引入的xml的变量,将始终覆盖后续的xml
   <import file="compile.xml" />

4. 有几个难点, 总结下
   <path/>, <fileset/>
   <path/>可以理解为Environment中的path, 可以是路径,也可以是一个jar文件,这个Path,可以用fileSet来表达:
   <path id="classpath.plugin_util">
<fileset dir="${eclipse.plugin.path}\plugins">
<include name="*.jar"/>
</fileset>
<fileset dir="${galaxy.util.path}\lib">
<include name="*.jar"/>
</fileset>
  </path>
  于是,这个Path可以通过Id引用,交给其它的节点如:<classPath/>使用。
  <fileset/>无疑是一组文件集合, 可以指定某个路径下,哪些文件需要包含,哪些文件需要排除。引申下去,类似的节点还有<dirset/>

5. junit中,常见问题是, test的资源文件的位置搞不定,比如某个测试用例中,用到了相对路径的位置,查了一下手册,这个配置关键词为dir, 并且fork需要打开:
<junit printsummary="true" haltonfailure="false" fork="yes" dir="${basedir}">
原理是:The directory in which to invoke the VM, 如果Junit不是另起VM跑测试用例,则无法做到设置dir

猜你喜欢

转载自ostrichmyself.iteye.com/blog/661400
ANT