You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.xml 6.2KB

13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="gitblit" default="main" basedir=".">
  3. <!-- Project Properties -->
  4. <property name="project.jar" value="gitblit.jar" />
  5. <property name="project.mainclass" value="com.gitblit.Launcher" />
  6. <property name="project.build.dir" value="${basedir}/build" />
  7. <target name="main">
  8. <!-- build dsate -->
  9. <tstamp>
  10. <format property="gb.buildDate" pattern="yyyy-MM-dd" />
  11. </tstamp>
  12. <!-- extract Gitblit version number from source code -->
  13. <loadfile property="gb.version" srcfile="${basedir}/src/com/gitblit/Constants.java">
  14. <filterchain>
  15. <linecontains>
  16. <contains value="public static final String VERSION = " />
  17. </linecontains>
  18. <striplinebreaks />
  19. <tokenfilter>
  20. <replacestring from="public static final String VERSION = &quot;" to="" />
  21. <replacestring from="&quot;;" to="" />
  22. <trim />
  23. </tokenfilter>
  24. </filterchain>
  25. </loadfile>
  26. <!-- extract JGit version number from source code -->
  27. <loadfile property="jgit.version" srcfile="${basedir}/src/com/gitblit/Constants.java">
  28. <filterchain>
  29. <linecontains>
  30. <contains value="public static final String JGIT_VERSION = " />
  31. </linecontains>
  32. <striplinebreaks />
  33. <tokenfilter>
  34. <replacestring from="public static final String JGIT_VERSION = &quot;" to="" />
  35. <replacestring from="&quot;;" to="" />
  36. <trim />
  37. </tokenfilter>
  38. </filterchain>
  39. </loadfile>
  40. <echo>Building Gitblit ${gb.version}</echo>
  41. <!-- copy required distribution files to project folder -->
  42. <copy todir="${basedir}" overwrite="false">
  43. <fileset dir="${basedir}/distrib">
  44. <include name="gitblit.properties" />
  45. <include name="users.properties" />
  46. </fileset>
  47. </copy>
  48. <!-- Compile the build tool and execute it.
  49. This downloads missing compile-time dependencies from Maven. -->
  50. <delete dir="${project.build.dir}" />
  51. <mkdir dir="${project.build.dir}" />
  52. <javac srcdir="${basedir}/src" destdir="${project.build.dir}">
  53. <include name="com/gitblit/Build.java" />
  54. <include name="com/gitblit/Constants.java" />
  55. <include name="com/gitblit/utils/StringUtils.java" />
  56. </javac>
  57. <java classpath="${project.build.dir}" classname="com.gitblit.Build" />
  58. <!-- Compile Project -->
  59. <path id="master-classpath">
  60. <fileset dir="${basedir}/ext">
  61. <include name="*.jar" />
  62. </fileset>
  63. </path>
  64. <javac destdir="${project.build.dir}">
  65. <src path="${basedir}/src" />
  66. <classpath refid="master-classpath" />
  67. </javac>
  68. <copy todir="${project.build.dir}">
  69. <fileset dir="${basedir}/src" excludes="**/*.java,**/thumbs.db" />
  70. </copy>
  71. <!-- Build jar -->
  72. <delete file="${project.jar}" />
  73. <jar jarfile="${project.jar}">
  74. <fileset dir="${project.build.dir}">
  75. <include name="**/*" />
  76. </fileset>
  77. <manifest>
  78. <attribute name="Main-Class" value="${project.mainclass}" />
  79. </manifest>
  80. </jar>
  81. <!-- Delete the deploy folder -->
  82. <delete dir="${basedir}/deploy" />
  83. <!-- Create deployment folder structure -->
  84. <mkdir dir="${basedir}/deploy" />
  85. <copy todir="${basedir}/deploy" file="${project.jar}" />
  86. <copy todir="${basedir}/deploy">
  87. <fileset dir="${basedir}/distrib">
  88. <include name="**/*" />
  89. </fileset>
  90. </copy>
  91. <!-- Create Zip deployment -->
  92. <property name="distribution.zipfile" value="gitblit-${gb.version}.zip" />
  93. <zip destfile="${distribution.zipfile}">
  94. <fileset dir="${basedir}/deploy">
  95. <include name="**/*" />
  96. </fileset>
  97. </zip>
  98. <!-- Delete the deploy folder -->
  99. <delete dir="${basedir}/deploy" />
  100. <!-- Cleanup builds -->
  101. <delete>
  102. <fileset dir="${basedir}">
  103. <include name="${project.jar}" />
  104. </fileset>
  105. </delete>
  106. <!-- Build Site -->
  107. <delete dir="${basedir}/site" />
  108. <mkdir dir="${basedir}/site" />
  109. <copy todir="${basedir}/site">
  110. <!-- Copy selected Gitblit resources -->
  111. <fileset dir="${basedir}/src/com/gitblit/wicket/resources">
  112. <include name="background.png" />
  113. <include name="gitblit.css" />
  114. <include name="markdown.css" />
  115. <include name="gitblt_25.png" />
  116. <include name="gitblt-favicon.png" />
  117. <include name="lock_go_16x16.png" />
  118. <include name="lock_pull_16x16.png" />
  119. <include name="shield_16x16.png" />
  120. <include name="cold_16x16.png" />
  121. <include name="bug_16x16.png" />
  122. <include name="book_16x16.png" />
  123. <include name="blank.png" />
  124. </fileset>
  125. <!-- Copy Doc images -->
  126. <fileset dir="${basedir}/docs">
  127. <include name="*.png" />
  128. <include name="*.js" />
  129. </fileset>
  130. </copy>
  131. <!-- Copy Fancybox -->
  132. <mkdir dir="${basedir}/site/fancybox" />
  133. <copy todir="${basedir}/site/fancybox">
  134. <fileset dir="${basedir}/docs/fancybox">
  135. <exclude name="thumbs.db" />
  136. </fileset>
  137. </copy>
  138. <!-- Copy screenshot thumbnails -->
  139. <mkdir dir="${basedir}/site/thumbs" />
  140. <copy todir="${basedir}/site/thumbs">
  141. <fileset dir="${basedir}/docs/screenshots/thumbs">
  142. <include name="*.png" />
  143. </fileset>
  144. </copy>
  145. <!-- Copy screenshots -->
  146. <mkdir dir="${basedir}/site/screenshots" />
  147. <copy todir="${basedir}/site/screenshots">
  148. <fileset dir="${basedir}/docs/screenshots">
  149. <include name="*.png" />
  150. </fileset>
  151. </copy>
  152. <!-- Build site pages -->
  153. <java classpath="${project.build.dir}" classname="com.gitblit.BuildSite">
  154. <classpath refid="master-classpath" />
  155. <arg value="--sourceFolder" />
  156. <arg value="${basedir}/docs" />
  157. <arg value="--outputFolder" />
  158. <arg value="${basedir}/site" />
  159. <arg value="--pageHeader" />
  160. <arg value="${basedir}/docs/page_header.html" />
  161. <arg value="--pageFooter" />
  162. <arg value="${basedir}/docs/page_footer.html" />
  163. <arg value="--alias" />
  164. <arg value="index=overview" />
  165. <arg value="--substitute" />
  166. <arg value="%VERSION%=${gb.version}" />
  167. <arg value="--substitute" />
  168. <arg value="%DISTRIBUTION%=${distribution.zipfile}" />
  169. <arg value="--substitute" />
  170. <arg value="%BUILDDATE%=${gb.buildDate}" />
  171. <arg value="--substitute" />
  172. <arg value="%JGIT%=${jgit.version}" />
  173. </java>
  174. <!-- Cleanup -->
  175. <delete dir="${project.build.dir}" />
  176. </target>
  177. </project>