Ant是比较老牌的构建工具了,从2004年起就一直在使用,使用上倒是很熟悉了,最近闲来无事,兴起了阅读Ant源码的念头。按照习惯的做法,总是从最简单的版本开始,然后再选择有代表性的高版本阅读源码,这样就能准确的把握一个开源软件的核心思想和演进路线了。
Ant是Apache下的一个开源项目,其目标就是通过各种target进行便捷的代码构建、测试、发布等工作,将原本需要开发人员一步一步操作的步骤按照依赖关系(同Make的理念一致),一次性完成,减轻了开发人员的工作量,同时也减少了在多个步骤间操作出现错误的概率。同时,Ant是基于task的,而这个task又是可以扩展的,即Ant提供了相关接口,只要实现这个接口,就能按照开发人员的意愿,来扩展和完善Ant的功能。
Ant的各个版本源码可以在这里下载:http://archive.apache.org/dist/ant/source/
首先,从Ant-1.1开始Ant源码的阅读之旅。我阅读源码的习惯是在阅读的同时要构建一个实际的构建运行环境,方便从实际的运行过程中体会代码的动态运作过程。
下载jakarta-ant-1.1.zip后将其解压到一个目录,假定是D:/jakarta-ant-1.1,其目录结构如下图:
其中bin目录是