James Moger
2013-07-23 2659e7430ff27adf324abad961bfe461599f1618
build.xml
@@ -280,12 +280,14 @@
      <mx:genjar destfile="${webinf}/lib/gitblit.jar" includeresources="false" excludeclasspathjars="true">
         <!-- Specify all web.xml servlets and filters -->
         <class name="com.gitblit.GitBlit" />
         <class name="com.gitblit.Keys" />
         <class name="com.gitblit.DownloadZipFilter" />
         <class name="com.gitblit.DownloadZipServlet" />
         <class name="com.gitblit.EnforceAuthenticationFilter" />
         <class name="com.gitblit.FederationServlet" />
         <class name="com.gitblit.GitFilter" />
         <class name="com.gitblit.git.GitServlet" />
         <class name="com.gitblit.LogoServlet" />
         <class name="com.gitblit.PagesFilter" />
         <class name="com.gitblit.PagesServlet" />
         <class name="com.gitblit.RobotsTxtServlet" />
@@ -300,6 +302,7 @@
         <class name="com.gitblit.RedmineUserService" />
         <class name="com.gitblit.SalesforceUserService" />
         <class name="com.gitblit.WindowsUserService" />
         <class name="com.gitblit.PAMUserService" />
      </mx:genjar>
      <!-- Build the WAR file -->
@@ -334,6 +337,7 @@
      <mx:genjar tag="" includeresources="false" excludeClasspathJars="true"
         destfile="${project.targetDirectory}/fedclient.jar">
         <mainclass name="com.gitblit.FederationClient" />
         <class name="com.gitblit.Keys" />
         <launcher paths="ext" />
         <resource file="${project.compileOutputDirectory}/log4j.properties" />
      </mx:genjar>
@@ -394,6 +398,7 @@
      <!-- Gitblit classes -->
      <mx:genjar destfile="${webinf}/lib/gitblit.jar" includeresources="false" excludeclasspathjars="true">
         <class name="com.gitblit.Keys" />
         <!-- Specify all web.xml servlets and filters -->
         <class name="com.gitblit.GitBlit" />
         <class name="com.gitblit.DownloadZipFilter" />
@@ -402,6 +407,7 @@
         <class name="com.gitblit.FederationServlet" />
         <class name="com.gitblit.GitFilter" />
         <class name="com.gitblit.git.GitServlet" />
         <class name="com.gitblit.LogoServlet" />
         <class name="com.gitblit.PagesFilter" />
         <class name="com.gitblit.PagesServlet" />
         <class name="com.gitblit.RobotsTxtServlet" />
@@ -416,6 +422,7 @@
         <class name="com.gitblit.RedmineUserService" />
         <class name="com.gitblit.SalesforceUserService" />
         <class name="com.gitblit.WindowsUserService" />
         <class name="com.gitblit.PAMUserService" />
      </mx:genjar>
      <!-- Build Express Zip file -->
@@ -482,6 +489,11 @@
         </resource>
         <mainclass name="com.gitblit.client.GitblitManagerLauncher" />
         <class name="com.gitblit.Keys" />
         <class name="com.gitblit.client.GitblitClient" />
         <class name="com.gitblit.models.FederationModel" />
         <class name="com.gitblit.models.FederationProposal" />
         <class name="com.gitblit.models.FederationSet" />
         <manifest>
            <attribute name="SplashScreen-Image" value="splash.png" />
         </manifest>
@@ -545,6 +557,7 @@
         </resource>
         <mainclass name="com.gitblit.authority.Launcher" />
         <class name="com.gitblit.Keys" />
         <manifest>
            <attribute name="SplashScreen-Image" value="splash.png" />
         </manifest>
@@ -670,8 +683,33 @@
               <page name="features" src="features.mkd" />
               <page name="screenshots" src="screenshots.mkd" />
            </menu>
            <menu name="documentation">
               <page name="setup" src="setup.mkd" />
            <menu name="documentation" pager="true" pagerPlacement="bottom" pagerLayout="justified">
               <menu name="Gitblit GO" pager="true" pagerPlacement="bottom" pagerLayout="justified">
                  <page name="setup GO" src="setup_go.mkd" />
                  <page name="upgrade GO" src="upgrade_go.mkd" />
               </menu>
               <divider />
               <menu name="Gitblit WAR" pager="true" pagerPlacement="bottom" pagerLayout="justified">
                  <page name="setup WAR" src="setup_war.mkd" />
                  <page name="upgrade WAR" src="upgrade_war.mkd" />
               </menu>
               <divider />
               <menu name="Gitblit Express" pager="true" pagerPlacement="bottom" pagerLayout="justified">
                  <page name="setup Express" src="setup_express.mkd" />
                  <page name="upgrade Express" src="upgrade_express.mkd" />
               </menu>
               <divider />
               <page name="administration" src="administration.mkd" />
               <page name="authentication" src="setup_authentication.mkd" />
               <page name="push hooks" src="setup_hooks.mkd" />
               <page name="lucene indexing" src="setup_lucene.mkd" />
               <page name="reverse proxies" src="setup_proxy.mkd" />
               <page name="client app menus" src="setup_clientmenus.mkd" />
               <divider />
               <page name="Gitblit as a viewer" src="setup_viewer.mkd" />
               <divider />
               <page name="git client setup" src="setup_client.mkd" />
               <divider />
               <page name="federation" src="federation.mkd" />
               <divider />
               <page name="settings" src="properties.mkd" />
@@ -779,7 +817,7 @@
      Update the gh-pages branch with the current site
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="updateGhPages" depends="buildSite">
   <target name="updateGhPages">
      <!-- Build gh-pages branch -->
      <mx:ghpages repositorydir="${basedir}" obliterate="true" />
   </target>
@@ -790,51 +828,72 @@
      Publish binaries to Google Code
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="publishBinaries" depends="clean,buildGO,buildWAR,buildExpress,buildFederationClient,buildManager,buildApiLibrary" description="Publish the Gitblit binaries to Google Code">
   <target name="publishBinaries" depends="prepare" description="Publish the Gitblit binaries to Google Code">
      <echo>Uploading Gitblit ${project.version} binaries</echo>
      <!-- Upload Gitblit GO Windows ZIP file -->
      <mx:gcupload 
          sourceFile="${distribution.zipfile}"
          targetFile="gitblit-${project.version}.zip"
          description="Gitblit GO v${project.version} (standalone, integrated Gitblit server for Windows)" />
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${project.targetDirectory}/${distribution.zipfile}"
         targetFilename="gitblit-${project.version}.zip"
         summary="Gitblit GO v${project.version} (standalone, integrated Gitblit server for Windows)" />
      <!-- Upload Gitblit GO Linux/Unix tar.gz file -->
      <mx:gcupload
          sourceFile="${distribution.tgzfile}"
          targetFile="gitblit-${project.version}.tar.gz"
          description="Gitblit GO v${project.version} (standalone, integrated Gitblit server for Linux/Unix)" />
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${project.targetDirectory}/${distribution.tgzfile}"
         targetFilename="gitblit-${project.version}.tar.gz"
         summary="Gitblit GO v${project.version} (standalone, integrated Gitblit server for Linux/Unix)" />
      <!-- Upload Gitblit WAR file -->
      <mx:gcupload
           sourceFile="${distribution.warfile}"
           targetFile="gitblit-${project.version}.war"
           description="Gitblit WAR v${project.version} (standard WAR webapp for servlet containers)" />
      <mx:gcupload
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${project.targetDirectory}/${distribution.warfile}"
         targetFilename="gitblit-${project.version}.war"
         summary="Gitblit WAR v${project.version} (standard WAR webapp for servlet containers)" />
      <!-- Upload Gitblit FedClient -->
      <mx:gcupload
         sourceFile="${fedclient.zipfile}"
         targetFile="fedclient-${project.version}.zip"
         description="Gitblit Federation Client v${project.version} (command-line tool to clone data from federated Gitblit instances)" />
      <mx:gcupload
         username="${googlecode.user}"
         password="${googlecode.password}"
          projectname="gitblit"
         filename="${project.targetDirectory}/${fedclient.zipfile}"
         targetFilename="fedclient-${project.version}.zip"
          summary="Gitblit Federation Client v${project.version} (command-line tool to clone data from federated Gitblit instances)" />
      <!-- Upload Gitblit Manager -->
      <mx:gcupload
         sourceFile="${manager.zipfile}"
         targetFile="manager-${project.version}.zip"
         description="Gitblit Manager v${project.version} (Swing tool to remotely administer a Gitblit server)" />
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${project.targetDirectory}/${manager.zipfile}"
         targetFilename="manager-${project.version}.zip"
         summary="Gitblit Manager v${project.version} (Swing tool to remotely administer a Gitblit server)" />
      <!-- Upload Gitblit API Library -->
      <mx:gcupload
         sourceFile="${gbapi.zipfile}"
         targetFile="gbapi-${project.version}.zip"
         description="Gitblit API Library v${project.version} (JSON RPC library to integrate with your software)" />
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${project.targetDirectory}/${gbapi.zipfile}"
         targetFilename="gbapi-${project.version}.zip"
         summary="Gitblit API Library v${project.version} (JSON RPC library to integrate with your software)" />
      <!-- Upload Gitblit Express for RedHat OpenShift -->
      <mx:gcupload
         sourceFile="${express.zipfile}"
         targetFile="express-${project.version}.zip"
         description="Gitblit Express v${project.version} (run Gitblit on RedHat's OpenShift cloud)" />
      <mx:gcupload
         username="${googlecode.user}"
         password="${googlecode.password}"
         projectname="gitblit"
         filename="${project.targetDirectory}/${express.zipfile}"
         targetFilename="express-${project.version}.zip"
         summary="Gitblit Express v${project.version} (run Gitblit on RedHat's OpenShift cloud)" />
   </target>
@@ -842,32 +901,23 @@
   <!--
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
      Publish site to site hosting service
      You must add ext/commons-net-1.4.0.jar to your ANT classpath.
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="publishSite" depends="clean,buildSite,updateGhPages" description="Publish the Gitblit site to a webserver (requires ext/commons-net-1.4.0.jar)" >
   <target name="publishSite" depends="clean,buildSite,updateGhPages" description="Publish the Gitblit site to a host" >
      <echo>Uploading Gitblit ${project.version} website</echo>
      <ftp server="${ftp.server}"
      <mx:ftp server="${ftp.server}"
         userid="${ftp.user}"
         password="${ftp.password}"
         remotedir="${ftp.dir}"
         passive="true"
         verbose="yes">
         <fileset dir="${project.siteTargetDirectory}" />
      </ftp>
      </mx:ftp>
   </target>
   <!--
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Compile from source, publish binaries, and build & deploy site
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <target name="publishAll" depends="publishBinaries,publishSite" />
   <!--
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
      Tag a new version and prepare for the next development cycle.
@@ -877,19 +927,45 @@
      <!-- release -->
      <property name="dryrun" value="false" />
      <mx:version stage="release" dryrun="${dryrun}" />      
      <property name="project.tag" value="v${project.version}" />
      <!-- commit build.moxie & releases.moxie (automatic) -->
      <mx:commit showtitle="no">
          <message>Prepare ${project.version} release</message>
         <tag name="v${project.version}">
         <tag name="${project.tag}">
            <message>${project.name} ${project.version} release</message>
         </tag>
      </mx:commit>
      <!-- create the release process script -->
      <mx:if>
         <os family="windows" />
         <then>
            <!-- Windows PowerShell script        -->
            <!-- set-executionpolicy remotesigned -->
            <property name="recipe" value="release_${project.version}.ps1" />
         </then>
         <else>
            <!-- Bash script -->
            <property name="recipe" value="release_${project.version}.sh" />
         </else>
      </mx:if>
      <delete file="${recipe}" failonerror="false" quiet="true" verbose="false" />
      <!-- Work-around for lack of proper ant property substitution in copy -->
      <property name="dollar" value="$"/>
      <copy file="release.template" tofile="${recipe}">
         <filterset begintoken="${dollar}{" endtoken="}">
            <filter token="project.version" value="${project.version}" />
            <filter token="project.commitId" value="${project.commitId}" />
            <filter token="project.tag" value="${project.tag}" />
         </filterset>
      </copy>
      <chmod file="${recipe}" perm="ugo+rx" />
      <!-- next cycle -->
      <mx:version stage="snapshot" incrementNumber="incremental" dryrun="${dryrun}" />
      <mx:commit showtitle="no">
          <message>Reset build identifiers for next development cycle</message>
      </mx:commit>
      </mx:commit>
   </target>
      
@@ -908,11 +984,36 @@
                  <page name="features" src="features.mkd" />
               </menu>
               <menu name="documentation">
                  <page name="setup" src="setup.mkd" />
                  <menu name="Gitblit GO" pager="true" pagerPlacement="bottom" pagerLayout="justified">
                     <page name="setup GO" src="setup_go.mkd" />
                     <page name="upgrade GO" src="upgrade_go.mkd" />
                  </menu>
                  <divider />
                  <menu name="Gitblit WAR" pager="true" pagerPlacement="bottom" pagerLayout="justified">
                     <page name="setup WAR" src="setup_war.mkd" />
                     <page name="upgrade WAR" src="upgrade_war.mkd" />
                  </menu>
                  <divider />
                  <menu name="Gitblit Express" pager="true" pagerPlacement="bottom" pagerLayout="justified">
                     <page name="setup Express" src="setup_express.mkd" />
                     <page name="upgrade Express" src="upgrade_express.mkd" />
                  </menu>
                  <divider />
                  <page name="administration" src="administration.mkd" />
                  <page name="authentication" src="setup_authentication.mkd" />
                  <page name="push hooks" src="setup_hooks.mkd" />
                  <page name="lucene indexing" src="setup_lucene.mkd" />
                  <page name="reverse proxies" src="setup_proxy.mkd" />
                  <page name="client app menus" src="setup_clientmenus.mkd" />
                  <divider />
                  <page name="Gitblit as a viewer" src="setup_viewer.mkd" />
                  <divider />
                  <page name="git client setup" src="setup_client.mkd" />
                  <divider />
                  <page name="federation" src="federation.mkd" />
                  <divider />
                  <page name="faq" src="faq.mkd" />
                  <page name="settings" src="properties.mkd" />
                  <page name="faq" src="faq.mkd" />
                  <divider />
                  <page name="design" src="design.mkd" />
                  <page name="rpc" src="rpc.mkd" />
@@ -974,6 +1075,12 @@
               <include name="gitblit.properties" />               
            </fileset>
         </copy>
         <mkdir dir="@{toDir}/git" />
         <copy todir="@{toDir}/git" overwrite="false">
            <fileset dir="${project.distrib.dir}/data/git">
               <include name="project.mkd" />
            </fileset>
         </copy>
         <mkdir dir="@{toDir}/groovy" />
         <copy todir="@{toDir}/groovy">
            <fileset dir="${project.distrib.dir}/data/groovy">