一个Daily Build实用模型

来源:互联网 发布:焚伊 知乎 编辑:程序博客网 时间:2024/05/01 00:37

Daily Build包含的范围甚广,如源代码控制,Daily Build主机设置,ANT的使用,任务计

划,持续集成等.本文不打算讨论这些内容,而仅就一个Daily Build实用模型进行分析.

假定我们的项目名称为project,目录D:/project
子系统project1,目录D:/project/project1
子系统project2,目录D:/project/project2
子系统project3,目录D:/project/project3
三个子系统要使用的jar包应该是相同的,都在D:/project/lib目录下

在D:/project下有一文件buildmagic.ent,内容和分析如下:
<property file="build.properties"/>
build.properties用来指定运行的主程序
<property name="src.dir" value="src"/>
<property name="bin.dir" value="bin"/>
<property name="lib.dir" value="../lib"/>

下面取到所有的jar包 
<path id="lib.class.path">
  <fileset dir="${lib.dir}">
   <include name="*.jar"/>
  </fileset>
</path>
下面是编译的过程,目的目录为bin目录 
<target name="build" description="Compile source">
  <mkdir dir="${bin.dir}"/>
  <javac destdir="${bin.dir}">
   <src path="${src.dir}"/>
   <classpath refid="lib.class.path"/>
  </javac>
</target> 
运行系统,进行测试 
<target name="run" description="Execute Main" depends="build">
       <java fork="true" classname="${main}">
         <classpath>
           <path refid="lib.class.path"/>
           <pathelement path="${bin.dir}"/>
         </classpath>
       </java>
</target>

D:/project/project1目录下有一个src目录,存放本子系统的源代码
D:/project/project1目录下有一个文件build.properties,内容如下:
main=org.hongsoft.test.Main
D:/project/project1目录下有一个文件build.xml,内容如下:
<?xml version="1.0" ?>
<!DOCTYPE project [
   <!ENTITY buildmagic SYSTEM "../buildmagic.ent">
]>
<project name="project1" basedir="." default="run">
 &buildmagic;
</project>

基本上,所有的工程都可以使用该模型来实现daily build,值得我们参考.

原创粉丝点击