ant daily build 学习一(整体构思)

最近组内需要作一项任务就是为java项目作日编译和统计。

当时考虑想用maven2来进行构建,但是由于组内项目的发布版本没有进行控制及引用库版本没有进行有效管理,导致用mave2很难介入到此项目中。

考虑到系统应该具有如下功能:
(1)具有BFS(Breadth-First-Search)处理的功能
构建脚本可以以SVN项目为树的根节点,按照SVN中的项目层次进行自动的逐级构建所有项目。
(2)具有DFS(Depth-First-Search)处理的能力
构建脚本可以编译SVN具体项目,并将自动构建具体项目中所涉及的子项目—即项目树。
(3)具有编译功能
构建脚本应该具有编译各项目的功能,通过项目的信息来设置各种编译选项(编码方式等)。
(4)具有运行测试用例功能
构建脚本应该具有运行各项目中的测试用例的功能,通过此功能来确定项目的测试用例的正确与否。
(5)具有代码检查功能
构建脚本应该具有代码检查的功能,通过代码检查功能来警示代码中可能会出现的某些bug以达到预防的目的。
(6)具有打包项目的功能
构建脚本应该具有将项目打包的功能。将编译后的Class文件打包成可发布的Jar文件。
(7)具有部署功能
构建脚本应该具有将所有构建过的发布包发布到预部署的机器上(服务器提供了ftp账户)。
(8)具有邮件报告功能
构建脚本应该具有邮件报告功能,报告各个功能的运行过程和结果。且各种报告结果均已结构良好的HTML文档或者邮件内容以表格的形式提供。且邮件支持邮件列表及抄送和暗抄的功能。
(9)具有记录各功能运行细节功能
构建脚本应该具有记录各个功能块的运行记录,及将记录永久性保存的功能。
(10)具有自动备份历史库的功能
构建脚本应该在每次构建时备份上次构建的结果,且备份目录应该能反映出备份的层次结构。
(11)各项功能具有开关设置
构建脚本应该为每个功能提供开关设置,通过设置开关来达到启用或者关闭某项功能的作用,在各功能存在依赖关系时采用顶层关闭方式,即某项功能关闭时,依赖于他的功能并不进行关闭,而是关闭它下层的所有依赖功能。

 


用例图如下:



 具体细节说明和代码参考会在后续的博客中说明

 

3.1 脚本组织结构

 


1脚本文件说明
(1) build-info.xml,此文件是保存了大量的css脚本,主要在Ant记录运行明细时用到,通过此文件来使记录文件的现实内容具有良好的阅读结构。
(2) build.xml,此文件是Ant启动脚本,此脚本中主要用来负责启动构建案脚本,并接受开关参数进行BFS或者DFS模式的构建调度。
(3) compile-project.xml,此文件是公共脚本,所有构建工程的核心任务均位于此脚本中,每个项目的构建脚本只需简单的引用此公告脚本便可以使用所有的任务,通过此方式可以达到项目的build脚本的风格统一和类库的统一更新的目标。
(4) global.properties,此文件保存了Ant脚本运行的全局配置参数,主要是配置构建时的输入和输出的各项参数。
(5) svn.properties,此文件保存了SVN资源相关的参数,主要是SVN的路径及用户名和密码等环境参数。
(6) projectlist.properties,此文件只有在进行BFS模式构建时,会将所有的构建过的Project名称保存至此文件中,以便于供DFS模式构建提供便利和参考。
2目录结构说明
(1) resource,此目录为临时目录所有需要构建的Project资源均在构建时存放在此目录中,构建完成后删除此目录。
(2) wind,此目录为永久性目录,与主站中的运行目录完全一致。
(3) wind/ocean/back,此目录为备份目录每次构建时均会备份上次构建的结果,然后当天向前推3天的所有备份目录。
(4) wind/ocean/deploy,此目录为发布目录,etc为配置目录,lib为第三方库,module为自产库。
(4)report,此目录为临时目录,构建时的所有报告文件均存放于此目录中。构建结束后此目录将被删除。

3.2 功能开关说明
参数名称                参数类型    参数说明                             默认值
switch-mail            Boolean     邮件报告功能的开关         True
switch-junit            Boolean     Junit测试功能的开关        True
switch-BFS            Boolean     广度优先构建功能开关     True
switch-findbugs    Boolean     Findbugs功能开关            True

4 系统设计报告
  4.1 BFS模式构建活动图

 

                                                                                  图20 BFS构建模式活动图
4.2 DFS模式构建活动图

 

            

                                                                                         图20 DFS构建模式活动图

4.3 构建序列图


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值