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

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>