James Moger
2011-10-23 fe326255202dcfac8b0991ca9d28e3cf4bcc4fe6
build.xml
@@ -2,7 +2,11 @@
<project name="gitblit" default="compile" basedir=".">
   <!-- Google Code upload task -->
   <taskdef classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask" classpath="${basedir}/tools/ant-googlecode-0.0.3.jar" name="gcupload"/>
   <taskdef classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask"
      classpath="${basedir}/tools/ant-googlecode-0.0.3.jar" name="gcupload"/>
   <!-- GenJar task -->
   <taskdef resource="genjar.properties" classpath="${basedir}/tools/GenJar.jar" />
   <!-- Project Properties -->
   <property name="project.jar" value="gitblit.jar" />
@@ -12,9 +16,19 @@
   <property name="project.war.dir" value="${basedir}/war" />
   <property name="project.site.dir" value="${basedir}/site" />
   <property name="project.resources.dir" value="${basedir}/resources" />   
   <available property="hasBuildProps" file="${basedir}/build.properties"/>
   <!-- Load publication servers, paths, and credentials -->
   <loadproperties srcfile="${basedir}/build.properties" />
   <!--
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Load build.properties, if available
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="buildprops" if="hasBuildProps">
      <!-- Load publication servers, paths, and credentials -->
      <loadproperties>
         <file file="${basedir}/build.properties" />
      </loadproperties>
   </target>
   
   
   <!--
@@ -22,7 +36,7 @@
      Scrape the version info from code and setup the build properties 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="buildinfo">
   <target name="buildinfo" depends="buildprops">
   
      <!-- extract Gitblit version number from source code -->
      <loadfile property="gb.version" srcfile="${basedir}/src/com/gitblit/Constants.java">
@@ -70,6 +84,8 @@
      </loadfile>   
      <property name="distribution.zipfile" value="gitblit-${gb.version}.zip" />
      <property name="distribution.warfile" value="gitblit-${gb.version}.war" />
      <property name="fedclient.zipfile" value="fedclient-${gb.version}.zip" />
      <property name="manager.zipfile" value="manager-${gb.version}.zip" />
   </target>
   
   
@@ -88,12 +104,17 @@
         </fileset>
      </copy>
      <!-- copy gitblit.properties to the WEB-INF folder.
           this file is only used for parsing setting descriptions. -->
      <copy todir="${basedir}/src/WEB-INF" overwrite="true"
         file="${basedir}/distrib/gitblit.properties" />
      <!-- Compile the build tool and execute it.
          This downloads missing compile-time dependencies from Maven. -->
      <delete dir="${project.build.dir}" />
      <mkdir dir="${project.build.dir}" />
      <javac srcdir="${basedir}/src" destdir="${project.build.dir}">
      <javac debug="true" srcdir="${basedir}/src" destdir="${project.build.dir}">
         <include name="com/gitblit/build/Build.java" />         
         <include name="com/gitblit/Constants.java" />
         <include name="com/gitblit/utils/StringUtils.java" />         
@@ -105,8 +126,9 @@
         <fileset dir="${basedir}/ext">
            <include name="*.jar" />
         </fileset>
         <pathelement path="${project.build.dir}" />
      </path>
      <javac destdir="${project.build.dir}" failonerror="false">
      <javac debug="true" destdir="${project.build.dir}" failonerror="false">
         <src path="${basedir}/src" />
         <classpath refid="master-classpath" />
      </javac>
@@ -133,6 +155,7 @@
      <copy todir="${project.deploy.dir}">
         <fileset dir="${basedir}/distrib">
            <include name="**/*" />
            <exclude name="federation.properties" />
         </fileset>
         <fileset dir="${basedir}">
            <include name="LICENSE" />
@@ -144,6 +167,7 @@
      <jar jarfile="${project.deploy.dir}/${project.jar}">
         <fileset dir="${project.build.dir}">
            <include name="**/*" />
            <exclude name="com/gitblit/client/**" />
         </fileset>
         <fileset dir="${project.resources.dir}">
            <exclude name="thumbs.db" />
@@ -179,10 +203,10 @@
         <copy todir="${docs.output.dir}">
            <!-- Copy selected Gitblit resources -->
            <fileset dir="${project.resources.dir}">
               <include name="background.png" />
               <include name="gitblit.css" />
               <include name="bootstrap.130.css" />
               <include name="bootstrap.gb.css" />
               <include name="markdown.css" />
               <include name="gitblt_25.png" />
               <include name="gitblt_25_white.png" />
               <include name="gitblt-favicon.png" />
               <include name="lock_go_16x16.png" />
               <include name="lock_pull_16x16.png" />
@@ -191,6 +215,8 @@
               <include name="bug_16x16.png" />
               <include name="book_16x16.png" />
               <include name="blank.png" />
               <include name="federated_16x16.png" />
               <include name="arrow_page.png" />
            </fileset>
            <!-- Copy Doc images -->
@@ -244,14 +270,32 @@
            <arg value="%WAR%=${distribution.warfile}" />
            <arg value="--substitute" />
            <arg value="%FEDCLIENT%=${fedclient.zipfile}" />
            <arg value="--substitute" />
            <arg value="%MANAGER%=${manager.zipfile}" />
            <arg value="--substitute" />
            <arg value="%BUILDDATE%=${gb.versionDate}" />
            <arg value="--substitute" />
            <arg value="%JGIT%=${jgit.version}" />
            <arg value="--load" />
            <arg value="--properties" />
            <arg value="%PROPERTIES%=${basedir}/distrib/gitblit.properties" />
            <arg value="--nomarkdown" />
            <arg value="%BEGINCODE%:%ENDCODE%" />
            <arg value="--substitute" />
            <arg value="&quot;%BEGINCODE%=&lt;pre class='prettyprint lang-java'&gt;&quot;" />
            <arg value="--substitute" />
            <arg value="%ENDCODE%=&lt;/pre&gt;" />
            <arg value="--regex" />
            <arg value="&quot;\b(issue)(\s*[#]?|-){0,1}(\d+)\b!!!&lt;a href='http://code.google.com/p/gitblit/issues/detail?id=$3'&gt;issue $3&lt;/a&gt;&quot;" />
         </java>
   </target>
   
@@ -267,10 +311,11 @@
      
      <delete dir="${project.war.dir}" />      
      <!-- Copy web.xml and users.properties to WEB-INF -->
      <!-- Copy web.xml, users.properties, and gitblit.properties to WEB-INF -->
      <copy todir="${project.war.dir}/WEB-INF">
         <fileset dir="${basedir}/distrib">
             <include name="users.properties" />
            <include name="gitblit.properties" />
         </fileset>
         <fileset dir="${basedir}/src/WEB-INF">
             <include name="web.xml" />
@@ -327,6 +372,7 @@
            <exclude name="WEB-INF/web.xml" />
            <exclude name="com/gitblit/tests/" />
            <exclude name="com/gitblit/build/**" />
            <exclude name="com/gitblit/client/**" />
            <exclude name="com/gitblit/GitBlitServer*.class" />
            <exclude name="com/gitblit/Launcher*.class" />
            <exclude name="com/gitblit/MakeCertificate*.class" />            
@@ -338,6 +384,96 @@
   </target>
   
   <!--
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Build the stand-alone, command-line Gitblit Federation Client
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="buildFederationClient" depends="compile" description="Builds the stand-alone Gitblit federation client">
      <echo>Building Gitblit Federation Client ${gb.version}</echo>
      <genjar jarfile="fedclient.jar">
         <class name="com.gitblit.FederationClientLauncher" />
         <resource file="${project.build.dir}/log4j.properties" />
         <classfilter>
            <exclude name="org.apache." />
            <exclude name="org.bouncycastle." />
            <exclude name="org.eclipse." />
            <exclude name="org.slf4j." />
            <exclude name="com.beust." />
            <exclude name="com.google." />
         </classfilter>
         <classpath refid="master-classpath" />
         <manifest>
            <attribute name="Main-Class" value="com.gitblit.FederationClientLauncher" />
            <attribute name="Specification-Version" value="${gb.version}" />
            <attribute name="Release-Date" value="${gb.versionDate}" />
         </manifest>
      </genjar>
      <!-- Build the federation client zip file -->
      <zip destfile="${fedclient.zipfile}">
         <fileset dir="${basedir}">
            <include name="fedclient.jar" />
         </fileset>
         <fileset dir="${basedir}/distrib">
            <include name="federation.properties" />
         </fileset>
      </zip>
   </target>
   <!--
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Build the stand-alone, Gitblit Manager
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="buildManager" depends="compile" description="Builds the stand-alone Gitblit Manager">
      <echo>Building Gitblit Manager ${gb.version}</echo>
      <genjar jarfile="manager.jar">
         <resource file="${basedir}/src/com/gitblit/client/splash.png" />
         <resource file="${basedir}/resources/gitblt-favicon.png" />
         <resource file="${basedir}/resources/gitweb-favicon.png" />
         <resource file="${basedir}/resources/user_16x16.png" />
         <resource file="${basedir}/resources/settings_16x16.png" />
         <resource file="${basedir}/resources/lock_go_16x16.png" />
         <resource file="${basedir}/resources/lock_pull_16x16.png" />
         <resource file="${basedir}/resources/shield_16x16.png" />
         <resource file="${basedir}/resources/federated_16x16.png" />
         <resource file="${basedir}/resources/cold_16x16.png" />
         <resource file="${basedir}/resources/book_16x16.png" />
         <resource file="${basedir}/resources/bug_16x16.png" />
         <resource file="${basedir}/resources/blank.png" />
         <resource file="${basedir}/src/com/gitblit/wicket/GitBlitWebApp.properties" />
         <class name="com.gitblit.client.GitblitManagerLauncher" />
         <classfilter>
            <exclude name="org.apache." />
            <exclude name="org.bouncycastle." />
            <exclude name="org.eclipse." />
            <exclude name="org.slf4j." />
            <exclude name="com.beust." />
            <exclude name="com.google." />
         </classfilter>
         <classpath refid="master-classpath" />
         <manifest>
            <attribute name="Main-Class" value="com.gitblit.client.GitblitManagerLauncher" />
            <attribute name="SplashScreen-Image" value="splash.png" />
            <attribute name="Specification-Version" value="${gb.version}" />
            <attribute name="Release-Date" value="${gb.versionDate}" />
         </manifest>
      </genjar>
      <!-- Build the Manager zip file -->
      <zip destfile="${manager.zipfile}">
         <fileset dir="${basedir}">
            <include name="manager.jar" />
         </fileset>
      </zip>
   </target>
   <!-- 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Build the Gitblit Website
@@ -353,10 +489,10 @@
      <copy todir="${project.site.dir}">
         <!-- Copy selected Gitblit resources -->
         <fileset dir="${project.resources.dir}">
            <include name="background.png" />
            <include name="gitblit.css" />
            <include name="bootstrap.130.css" />
            <include name="bootstrap.gb.css" />
            <include name="markdown.css" />
            <include name="gitblt_25.png" />
            <include name="gitblt_25_white.png" />
            <include name="gitblt-favicon.png" />
            <include name="lock_go_16x16.png" />
            <include name="lock_pull_16x16.png" />
@@ -365,6 +501,8 @@
            <include name="bug_16x16.png" />
            <include name="book_16x16.png" />
            <include name="blank.png" />
            <include name="federated_16x16.png" />
            <include name="arrow_page.png" />
         </fileset>
         <!-- Copy Doc images -->
@@ -423,9 +561,15 @@
         <arg value="--pageHeader" />
         <arg value="${basedir}/docs/site_header.html" />
         <arg value="--pageFooter" />
         <arg value="${basedir}/docs/site_footer.html" />
         <arg value="--analyticsSnippet" />
         <arg value="${basedir}/docs/site_analytics.html" />
         <arg value="--adSnippet" />
         <arg value="${basedir}/docs/site_ads.html" />
         <arg value="--alias" />
         <arg value="index=overview" />
@@ -443,15 +587,33 @@
         <arg value="%WAR%=${distribution.warfile}" />
         <arg value="--substitute" />
         <arg value="%FEDCLIENT%=${fedclient.zipfile}" />
         <arg value="--substitute" />
         <arg value="%MANAGER%=${manager.zipfile}" />
         <arg value="--substitute" />
         <arg value="%BUILDDATE%=${gb.versionDate}" />
         <arg value="--substitute" />
         <arg value="%JGIT%=${jgit.version}" />
         <arg value="--load" />
         <arg value="--properties" />
         <arg value="%PROPERTIES%=${basedir}/distrib/gitblit.properties" />
         <arg value="--nomarkdown" />
         <arg value="%BEGINCODE%:%ENDCODE%" />
      </java>
         <arg value="--substitute" />
         <arg value="&quot;%BEGINCODE%=&lt;pre class='prettyprint lang-java'&gt;&quot;" />
         <arg value="--substitute" />
         <arg value="%ENDCODE%=&lt;/pre&gt;" />
         <arg value="--regex" />
         <arg value="&quot;\b(issue)(\s*[#]?|-){0,1}(\d+)\b!!!&lt;a href='http://code.google.com/p/gitblit/issues/detail?id=$3'&gt;issue $3&lt;/a&gt;&quot;" />
      </java>
   </target>
      
@@ -460,7 +622,7 @@
      Compile from source, publish binaries, and build & deploy site
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="buildAll" depends="buildGO,buildWAR,buildSite">
   <target name="buildAll" depends="buildGO,buildWAR,buildFederationClient,buildManager,buildSite">
      <!-- Cleanup -->
      <delete dir="${project.build.dir}" />
      <delete dir="${project.war.dir}" />
@@ -473,7 +635,7 @@
      Publish binaries to Google Code
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="publishBinaries" depends="buildGO,buildWAR" description="Publish the Gitblit binaries to Google Code">
   <target name="publishBinaries" depends="buildGO,buildWAR,buildFederationClient,buildManager" description="Publish the Gitblit binaries to Google Code">
      
      <echo>Uploading Gitblit ${gb.version} binaries</echo>
      
@@ -484,7 +646,7 @@
          projectname="gitblit" 
          filename="${distribution.zipfile}" 
          targetfilename="gitblit-${gb.version}.zip"
          summary="Standalone, integrated Gitblit server v${gb.version}"
          summary="Gitblit GO v${gb.version} (standalone, integrated Gitblit server)"
          labels="Featured, Type-Package, OpSys-All" />
         
      <!-- Upload WAR file -->
@@ -494,8 +656,28 @@
           projectname="gitblit" 
           filename="${distribution.warfile}" 
           targetfilename="gitblit-${gb.version}.war"
           summary="Gitblit WAR v${gb.version} for your servlet container"
           summary="Gitblit WAR v${gb.version} (standard WAR webapp for servlet containers)"
           labels="Featured, Type-Package, OpSys-All" />
      <!-- Upload FedClient -->
      <gcupload
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${fedclient.zipfile}"
         targetfilename="fedclient-${gb.version}.zip"
         summary="Gitblit Federation Client v${gb.version} (command-line tool to clone data from federated Gitblit instances)"
         labels="Featured, Type-Package, OpSys-All" />
      <!-- Upload Manager -->
      <gcupload
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${manager.zipfile}"
         targetfilename="manager-${gb.version}.zip"
         summary="Gitblit Manager v${gb.version} (Swing tool to remotely administer a Gitblit server)"
         labels="Featured, Type-Package, OpSys-All" />
   </target>
   
@@ -531,4 +713,4 @@
      <delete dir="${project.war.dir}" />
      <delete dir="${project.deploy.dir}" />
   </target>
</project>
</project>