James Moger
2013-07-13 889e695280f9b82cc31aeb5e8a28b60f8cd6c260
build.xml
@@ -4,14 +4,17 @@
   <!--
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Retrieve Moxie Toolkit
      documentation @ http://gitblit.github.io/moxie
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   -->
   <property name="moxie.version" value="0.7.1" />
   <property name="moxie.url" value="http://gitblit.github.com/moxie/maven" />
   <property name="moxie.version" value="0.7.4" />
   <property name="moxie.url" value="http://gitblit.github.io/moxie/maven" />
   <property name="moxie.jar" value="moxie-toolkit-${moxie.version}.jar" />
   <property name="moxie.dir" value="${user.home}/.moxie" />
   
   <!-- Download Moxie from it's Maven repository to user.home -->
   <mkdir dir="${moxie.dir}" />
   <get src="${moxie.url}/org/moxie/moxie-toolkit/${moxie.version}/${moxie.jar}"
      dest="${moxie.dir}" skipexisting="true" verbose="true" />
   
@@ -33,8 +36,9 @@
   <target name="prepare">
   
      <!-- Setup Ant build from build.moxie and resolve dependencies.
           if it exists, build.properties is automatically loaded -->
      <mx:init verbose="no" />
           If it exists, build.properties is automatically loaded.
           Explicitly set mxroot allowing CI servers to override the default. -->
      <mx:init verbose="no" mxroot="${moxie.dir}" />
            
      <!-- Set Ant project properties -->
      <property name="distribution.zipfile" value="gitblit-${project.version}.zip" />
@@ -93,10 +97,15 @@
         <fileset dir="${project.distrib.dir}/data" />
      </copy>
      
      <!-- copy gitblit.properties to the WEB-INF directory.
      <!-- copy gitblit.properties to the source directory.
           this file is only used for parsing setting descriptions. -->
      <copy tofile="${project.src.dir}/WEB-INF/reference.properties" overwrite="true"
      <copy tofile="${project.src.dir}/reference.properties" overwrite="true"
         file="${project.distrib.dir}/data/gitblit.properties" />
      <!-- copy clientapps.json to the source directory.
           this file is only used if a local file is not provided. -->
      <copy tofile="${project.src.dir}/clientapps.json" overwrite="true"
         file="${project.distrib.dir}/data/clientapps.json" />
      
      <!-- 
         upgrade existing workspace to data directory
@@ -135,8 +144,8 @@
             outputclass="com.gitblit.Keys"
             todir="${project.src.dir}" />
      <!-- Compile project incrementally -->
      <mx:javac scope="compile" clean="false" />
      <!-- Compile project -->
      <mx:javac scope="compile" clean="true" />
      
   </target>
@@ -214,8 +223,10 @@
            <include name="LICENSE" />
            <include name="NOTICE" />
         </fileset>
         <!-- Distrib files -->
         <!-- Windows distrib files -->
         <zipfileset dir="${project.distrib.dir}/win" />
         <!-- Gitblit Authority data -->
         <zipfileset dir="${project.distrib.dir}/data/certs" prefix="data/certs" />
         <!-- include all dependencies -->
         <dependencies prefix="ext" />
      </mx:zip>
@@ -227,8 +238,10 @@
            <include name="LICENSE" />
            <include name="NOTICE" />
         </fileset>
         <!-- Distrib files -->
         <!-- Linux/OSX distrib files -->
         <tarfileset dir="${project.distrib.dir}/linux" filemode="755" />
         <!-- Gitblit Authority data -->
         <zipfileset dir="${project.distrib.dir}/data/certs" prefix="data/certs" />
         <!-- include all dependencies -->
         <dependencies prefix="ext" />
      </mx:tar>      
@@ -259,7 +272,36 @@
      <prepareDataDirectory toDir="${webinf}/data" />
      <!-- Build the WAR web.xml from the prototype web.xml -->
      <mx:webxml sourcefile="${project.src.dir}/WEB-INF/web.xml" destfile="${webinf}/web.xml" />
      <mx:webxml sourcefile="${project.src.dir}/WEB-INF/web.xml" destfile="${webinf}/web.xml">
         <replace token="@gb.version@" value="${project.version}" />
      </mx:webxml>
      <!-- Gitblit jar -->
      <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.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" />
         <class name="com.gitblit.RpcFilter" />
         <class name="com.gitblit.RpcServlet" />
         <class name="com.gitblit.SyndicationFilter" />
         <class name="com.gitblit.SyndicationServlet" />
         <class name="com.gitblit.SparkleShareInviteServlet" />
         <class name="com.gitblit.wicket.GitBlitWebApp" />
         <!-- Manually include alternative User Services -->
         <class name="com.gitblit.LdapUserService" />
         <class name="com.gitblit.RedmineUserService" />
         <class name="com.gitblit.SalesforceUserService" />
         <class name="com.gitblit.WindowsUserService" />
      </mx:genjar>
      <!-- Build the WAR file -->
      <mx:zip basedir="${war.dir}" destfile="${project.targetDirectory}/${distribution.warfile}" compress="true" >
@@ -269,19 +311,11 @@
            <exclude name="*.mkd" />
         </fileset>
         <!-- WEB-INF directory -->
         <zipfileset fullpath="WEB-INF/reference.properties"
            file="${project.distrib.dir}/data/gitblit.properties" />
         <zipfileset prefix="WEB-INF" dir="${basedir}" >
            <include name="LICENSE" />
            <include name="NOTICE" />
         </zipfileset>
         <!-- Classes and classpath resources -->
         <zipfileset prefix="WEB-INF/classes" dir="${project.compileOutputDirectory}">
            <include name="**/*.class" />
            <include name="**/*.properties" />
            <include name="**/*.mkd" />
            <exclude name="WEB-INF" />
         </zipfileset>
         <zipfileset prefix="WEB-INF" file="${project.compileOutputDirectory}/WEB-INF/weblogic.xml" />
         <!-- include "war" tagged dependencies -->
         <dependencies prefix="WEB-INF/lib" tag="war" />
      </mx:zip>
@@ -298,7 +332,7 @@
   
      <!-- generate jar by traversing the class hierarchy of the specified
          classes, exclude any classes in classpath jars -->
      <mx:genjar tag="" excludeClasspathJars="true"
      <mx:genjar tag="" includeresources="false" excludeClasspathJars="true"
         destfile="${project.targetDirectory}/fedclient.jar">
         <mainclass name="com.gitblit.FederationClient" />
         <launcher paths="ext" />
@@ -354,21 +388,37 @@
      <!-- Build the Express web.xml from the prototype web.xml and gitblit.properties -->
      <!-- THIS FILE IS NOT OVERRIDDEN ONCE IT IS BUILT!!! -->
      <mx:webxml sourcefile="${project.src.dir}/WEB-INF/web.xml" destfile="${webinf}/web.xml"
      propertiesFile="${project.distrib.dir}/data/gitblit.properties"
      skip="server.*" />
         propertiesFile="${project.distrib.dir}/data/gitblit.properties"
         skip="server.*">
         <replace token="@gb.version@" value="${project.version}" />
      </mx:webxml>
      <!-- Gitblit classes -->
      <jar destfile="${webinf}/lib/gitblit.jar">
         <fileset dir="${project.compileOutputDirectory}">
            <exclude name="WEB-INF/" />
            <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/authority/**" />
         </fileset>
      </jar>
      <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.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" />
         <class name="com.gitblit.RpcFilter" />
         <class name="com.gitblit.RpcServlet" />
         <class name="com.gitblit.SyndicationFilter" />
         <class name="com.gitblit.SyndicationServlet" />
         <class name="com.gitblit.SparkleShareInviteServlet" />
         <class name="com.gitblit.wicket.GitBlitWebApp" />
         <!-- Manually include alternative User Services -->
         <class name="com.gitblit.LdapUserService" />
         <class name="com.gitblit.RedmineUserService" />
         <class name="com.gitblit.SalesforceUserService" />
         <class name="com.gitblit.WindowsUserService" />
      </mx:genjar>
      <!-- Build Express Zip file -->
      <mx:zip basedir="${express.dir}" destfile="${project.targetDirectory}/${express.zipfile}">
@@ -383,9 +433,6 @@
            <exclude name="thumbs.db" />
            <exclude name="*.mkd" />
         </zipfileset>
         <!-- reference.properties -->
         <zipfileset fullpath="deployments/ROOT.war/WEB-INF/reference.properties"
            file="${project.distrib.dir}/data/gitblit.properties" />
         <!-- include "war" tagged dependencies -->
         <dependencies prefix="deployments/ROOT.war/WEB-INF/lib" tag="war" />
      </mx:zip>
@@ -403,7 +450,7 @@
      <!-- generate jar by traversing the class hierarchy of the specified
          classes, exclude any classes in classpath jars -->
      <mx:genjar tag="" excludeClasspathJars="true"
      <mx:genjar tag="" includeResources="false" excludeClasspathJars="true"
         destfile="${project.targetDirectory}/manager.jar">
         <resource file="${project.src.dir}/com/gitblit/client/splash.png" />
         <resource file="${project.resources.dir}/gitblt-favicon.png" />
@@ -518,11 +565,8 @@
            <include name="users.conf" />
            <include name="gitblit.properties" />
         </zipfileset>
         <zipfileset dir="${project.distrib.dir}/data/certs" prefix="data/certs">
            <include name="authority.conf" />
            <include name="mail.tmpl" />
            <include name="instructions.tmpl" />
         </zipfileset>
         <!-- Gitblit Authority data -->
         <zipfileset dir="${project.distrib.dir}/data/certs" prefix="data/certs" />
         <!-- include "authority" tagged dependencies -->
         <dependencies prefix="ext" tag="authority" />
      </mx:zip>
@@ -544,7 +588,7 @@
      <delete dir="${javadoc.dir}" />
      <!-- Build API Library jar -->
      <mx:genjar tag="" excludeClasspathJars="true"
      <mx:genjar tag="" includeResources="false" excludeClasspathJars="true"
         destfile="${project.targetDirectory}/gbapi-${project.version}.jar">
         <class name="com.gitblit.Keys" />
         <class name="com.gitblit.client.GitblitClient" />
@@ -628,8 +672,27 @@
               <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 />
               <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" />
               <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" />
@@ -663,7 +726,8 @@
            </menu>
            
            <menu name="links">
               <link name="Demo" src="https://demo-gitblit.rhcloud.com" />
               <link name="Gitblit Demo (RELEASE)" src="https://demo-gitblit.rhcloud.com" />
               <link name="Gitblit Next (SNAPSHOT)" src="https://next-gitblit.rhcloud.com" />
               <divider />
               <link name="Github" src="${project.scmUrl}" />
               <link name="Issues" src="${project.issuesUrl}" />
@@ -865,11 +929,30 @@
                  <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 />
                  <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" />
                  <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" />
@@ -879,7 +962,8 @@
                  <page name="older releases" src="releasehistory.mkd" />
               </menu>
               <menu name="links">
                  <link name="Demo" src="https://demo-gitblit.rhcloud.com" />
                  <link name="Gitblit Demo (RELEASE)" src="https://demo-gitblit.rhcloud.com" />
                  <link name="Gitbilt Next (SNAPSHOT)" src="https://next-gitblit.rhcloud.com" />
                  <divider />
                  <link name="Github" src="${project.scmUrl}" />
                  <link name="Issues" src="${project.issuesUrl}" />
@@ -927,7 +1011,13 @@
            <fileset dir="${project.distrib.dir}/data">
               <include name="users.conf" />
               <include name="projects.conf" />
               <include name="gitblit.properties" />
               <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" />
@@ -974,7 +1064,8 @@
   <target name="installMaven" depends="compile" description="Install Gitblit JAR as Maven module">
      <local name="project.jar" />
      <property name="project.jar" value="${project.outputDirectory}/gitblit.jar" />
      <mx:jar destfile="${project.jar}" includeresources="true" />
      <property name="resourceFolderPrefix" value="" />
      <mx:jar destfile="${project.jar}" includeresources="true" resourceFolderPrefix="${resourceFolderPrefix}" />
      <exec executable="mvn">
         <arg value="install:install-file" />