基于 Ant 搭建敏捷开发过程中的持续集成环境
2010-01-04 00:00:00 来源:WEB开发网不难看出,<antcall> 任务通过调用不同的任务组合达到了为不同构建目的提供不同构建动作的目的,其中包括对“冒烟”测试,功能测试以及产品环境安装的特定支持,而各个环境所需要的产品包也因 <ant> 任务目标的不同而不同,这种松散组合的方式为今后脚本的维护和更新提供了良好的基础。
在为产品环境提供产品包(perform_productBuild)的目标中,<antFetch> 扩展任务通过调用外部的 checkLicese.xml 脚本来对产品进行版权核查,任何没有版权信息的文本文件都将被记录到 reportFile 中。虽然类似的这种功能可以使用多种脚本语言来方便的实现,比如 Python 和 Ruby 等,但这里给出了基于 Ant 的实现,以更好的展示 Ant 脚本的灵活性和可编程性。清单 2 是使用 Ant 实现版权信息检查的部分脚本。
清单 2. 使用 Ant 实现版权信息检查的部分脚本<target name="checkLicense" >
<for list="${scanFolderList}" param="folderList">
<sequential>
<for list="${scanFileType}" param="fileType">
<sequential>
<for param="file">
<path>
<fileset dir="@{folderList}" includes=**/*.@{fileType}>
<not>
<contains text="${licenseFragment}" />
</not>
</fileset>
</path>
<sequential>
<echo file="${reportFile}" message="@{file},${line.separator}"
append="true" encoding="UTF-8"/>
</sequential>
</for>
</sequential>
</for>
</sequential>
</for>
</target>
更多精彩
赞助商链接