From 169f8e06cb738e1c22b384a50cdd5a76e3f75e08 Mon Sep 17 00:00:00 2001
From: Michael Pailloncy <mpapo.dev@gmail.com>
Date: Thu, 30 May 2013 16:23:34 -0400
Subject: [PATCH] add --all-local-branches to add all local branches of the repo to index

---
 build.xml |  116 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 77 insertions(+), 39 deletions(-)

diff --git a/build.xml b/build.xml
index 4c92206..39f39eb 100644
--- a/build.xml
+++ b/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>
 
@@ -263,7 +272,33 @@
 		<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.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" />
+		</mx:genjar>
 
 		<!-- Build the WAR file -->
 		<mx:zip basedir="${war.dir}" destfile="${project.targetDirectory}/${distribution.warfile}" compress="true" >
@@ -273,19 +308,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>
@@ -302,7 +329,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" />
@@ -358,21 +385,34 @@
 		<!-- 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.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" />
+		</mx:genjar>
 
 		<!-- Build Express Zip file -->
 		<mx:zip basedir="${express.dir}" destfile="${project.targetDirectory}/${express.zipfile}">
@@ -387,9 +427,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>
@@ -407,7 +444,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" />
@@ -545,7 +582,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" />
@@ -928,7 +965,7 @@
 				<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}/groovy" />
@@ -975,7 +1012,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" />

--
Gitblit v1.9.1