James Moger
2011-05-12 f988253399ee475aa4f4e60adb95a220f8f88d21
commit | author | age
5fe7df 1 <?xml version="1.0" encoding="UTF-8"?>
JM 2 <project name="gitblit" default="main" basedir=".">
3
4     <!-- Project Properties -->
5     <property name="project.jar" value="gitblit.jar" />
f98825 6     <property name="project.mainclass" value="com.gitblit.Launcher" />    
5fe7df 7     <property name="project.build.dir" value="${basedir}/build" />
JM 8
9     <target name="main">
f98825 10             
JM 11         <!-- extract version number from source code -->
12         <loadfile property="gb.version" srcfile="${basedir}/src/com/gitblit/Constants.java">
13             <filterchain>
14                 <linecontains>
15                     <contains value="public final static String VERSION = "/>
16                 </linecontains>
17                 <striplinebreaks/>
18                 <tokenfilter>                    
19                     <replacestring from="public final static String VERSION = &quot;" to=""/>
20                     <replacestring from="&quot;;" to=""/>
21                     <trim />
22                 </tokenfilter>
23             </filterchain>
24         </loadfile>
25         <echo>Building Git:Blit ${gb.version}</echo>
26         
27         <!-- copy required distribution files to project folder -->
28         <copy todir="${basedir}" overwrite="false">
29             <fileset dir="${basedir}/distrib">
30                 <include name="gitblit.properties" />
31                 <include name="users.properties" />
32             </fileset>
33         </copy>
34         
5fe7df 35         <!-- Compile the build tool and execute it.
JM 36              This downloads missing compile-time dependencies from Maven. -->
37
38         <delete dir="${project.build.dir}" />
39         <mkdir dir="${project.build.dir}" />
40         <javac srcdir="${basedir}/src" destdir="${project.build.dir}">
41             <include name="com/gitblit/Build.java" />
155bf7 42             <include name="com/gitblit/Constants.java" />
87cc1e 43             <include name="com/gitblit/utils/StringUtils.java" />
5fe7df 44         </javac>
JM 45         <java classpath="${project.build.dir}" classname="com.gitblit.Build" />
46
47         <!-- Compile Project -->
48         <path id="master-classpath">
49             <fileset dir="${basedir}/ext">
50                 <include name="*.jar" />
51             </fileset>
52         </path>
53         <javac destdir="${project.build.dir}">
54             <src path="${basedir}/src" />
55             <classpath refid="master-classpath" />
56         </javac>
57         <copy todir="${project.build.dir}">
58             <fileset dir="${basedir}/src" excludes="**/*.java,**/thumbs.db" />
59         </copy>
60
61         <!-- Build jar -->
62         <delete file="${project.jar}" />
cf9550 63         <jar jarfile="${project.jar}">
5fe7df 64             <fileset dir="${project.build.dir}">
JM 65                 <include name="**/*" />
66             </fileset>
67             <manifest>
68                 <attribute name="Main-Class" value="${project.mainclass}" />
69             </manifest>
70         </jar>
71
72         <!-- Delete the deploy folder -->
73         <delete dir="${basedir}/deploy" />
74
75         <!-- Create deployment folder structure -->
76         <mkdir dir="${basedir}/deploy" />
77         <copy todir="${basedir}/deploy" file="${project.jar}" />
78         <copy todir="${basedir}/deploy">
f98825 79             <fileset dir="${basedir}/distrib">
5fe7df 80                 <include name="**/*" />
JM 81             </fileset>
82         </copy>
83
84         <!-- Create Zip deployment -->
f98825 85         <property name="distribution.zipfile" value="gitblit-${gb.version}.zip" />
5fe7df 86         <zip destfile="${distribution.zipfile}">
JM 87             <fileset dir="${basedir}/deploy">
88                 <include name="**/*" />
89             </fileset>
90         </zip>
91
92         <!-- Delete the deploy folder -->
93         <delete dir="${basedir}/deploy" />
94
95         <!-- Cleanup builds -->
96         <delete>
97             <fileset dir="${basedir}">
98                 <include name="${project.jar}" />
99             </fileset>
100         </delete>
101     </target>
102 </project>