From 1c817663269b52065b79eba37f29a5a4f67348d1 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 23 Oct 2012 17:48:48 -0400
Subject: [PATCH] Fix broken unit test on Windows

---
 build.xml |  127 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 112 insertions(+), 15 deletions(-)

diff --git a/build.xml b/build.xml
index 688f255..6dca87d 100644
--- a/build.xml
+++ b/build.xml
@@ -14,9 +14,12 @@
 	<property name="project.build.dir" value="${basedir}/build" />
 	<property name="project.deploy.dir" value="${basedir}/deploy" />
 	<property name="project.war.dir" value="${basedir}/war" />
+	<property name="project.jar.dir" value="${basedir}/jar" />
 	<property name="project.site.dir" value="${basedir}/site" />
 	<property name="project.resources.dir" value="${basedir}/resources" />	
 	<property name="project.express.dir" value="${basedir}/express" />
+	<property name="project.maven.repo.url" value="enter here your Maven repo URL" />
+	<property name="project.maven.repo.id" value="gitblit.maven.repo" />
 	<available property="hasBuildProps" file="${basedir}/build.properties"/>
 
 	<!--
@@ -85,6 +88,8 @@
 		</loadfile>	
 		<property name="distribution.zipfile" value="gitblit-${gb.version}.zip" />
 		<property name="distribution.warfile" value="gitblit-${gb.version}.war" />
+		<property name="distribution.jarfile" value="gitblit-${gb.version}.jar" />
+		<property name="distribution.pomfile" value="${basedir}/pom.xml" />
 		<property name="fedclient.zipfile" value="fedclient-${gb.version}.zip" />
 		<property name="manager.zipfile" value="manager-${gb.version}.zip" />
 		<property name="gbapi.zipfile" value="gbapi-${gb.version}.zip" />
@@ -122,7 +127,16 @@
 			<include name="com/gitblit/Constants.java" />
 			<include name="com/gitblit/utils/StringUtils.java" />			
 		</javac>
-		<java classpath="${project.build.dir}" classname="com.gitblit.build.Build" />
+
+		<java classpath="${project.build.dir}" classname="com.gitblit.build.Build">
+			<syspropertyset id="proxy.properties">
+				<propertyref prefix="java.net.useSystemProxies"/>
+				<propertyref prefix="http."/>
+				<propertyref prefix="https."/>
+				<propertyref prefix="ftp."/>
+				<propertyref prefix="socksProxy"/>
+			</syspropertyset>
+		</java>
 
 		<!-- Compile Project -->
 		<path id="master-classpath">
@@ -185,10 +199,10 @@
 		<mkdir dir="${project.deploy.dir}/ext"/>
 		<copy todir="${project.deploy.dir}/ext">
 			<fileset dir="${basedir}/ext">
+				<exclude name="src/**" />
 				<exclude name="junit*.jar" />
+				<exclude name="hamcrest*.jar" />
 				<exclude name="commons-net*.jar" />
-				<exclude name="*-sources.jar" />
-				<exclude name="*-javadoc.jar" />
 			</fileset>
 		</copy>
 		
@@ -203,6 +217,8 @@
 			<fileset dir="${basedir}/groovy">
 				<include name="sendmail.groovy" />
 				<include name="jenkins.groovy" />
+				<include name="protect-refs.groovy" />
+				<include name="localclone.groovy" />
 			</fileset>
 		</copy>
 	
@@ -370,6 +386,8 @@
 			<fileset dir="${basedir}/groovy">
 				<include name="sendmail.groovy" />
 				<include name="jenkins.groovy" />
+				<include name="protect-refs.groovy" />
+				<include name="localclone.groovy" />
 			</fileset>
 		</copy>
 
@@ -398,12 +416,13 @@
 		<mkdir dir="${project.war.dir}/WEB-INF/lib"/>
 		<copy todir="${project.war.dir}/WEB-INF/lib">
 			<fileset dir="${basedir}/ext">
-				<exclude name="*-sources.jar" />
-				<exclude name="*-javadoc.jar" />
+				<exclude name="src/**" />
 				<exclude name="jcommander*.jar" />
 				<exclude name="jetty*.jar" />
 				<exclude name="junit*.jar" />
+				<exclude name="hamcrest*.jar" />
 				<exclude name="servlet*.jar" />
+				<exclude name="javax.servlet*.jar" />
 			</fileset>
 		</copy>
 
@@ -415,6 +434,7 @@
 				<exclude name="com/gitblit/tests/" />
 				<exclude name="com/gitblit/build/**" />
 				<exclude name="com/gitblit/client/**" />
+				<exclude name="com/gitblit/AddIndexedBranch*.class" />
 				<exclude name="com/gitblit/GitBlitServer*.class" />
 				<exclude name="com/gitblit/Launcher*.class" />
 				<exclude name="com/gitblit/MakeCertificate*.class" />
@@ -426,6 +446,76 @@
 	</target>
 
 	
+	<!--
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Build Gitblit JAR for usage in other projects plug-ins (i.e. Gerrit)
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	-->
+	<target name="buildJAR" depends="compile" description="Build Gitblit JAR">
+
+		<echo>Building Gitblit JAR ${gb.version}</echo>
+
+		<delete dir="${project.jar.dir}" />
+
+		<!-- Gitblit classes -->
+		<mkdir dir="${project.jar.dir}"/>
+		<copy todir="${project.jar.dir}">
+			<fileset dir="${project.build.dir}">
+				<exclude name="WEB-INF/" />
+				<exclude name="com/gitblit/tests/" />
+				<exclude name="com/gitblit/build/**" />
+				<exclude name="com/gitblit/client/**" />
+				<exclude name="com/gitblit/AddIndexedBranch*.class" />
+				<exclude name="com/gitblit/GitBlitServer*.class" />
+				<exclude name="com/gitblit/Launcher*.class" />
+				<exclude name="com/gitblit/MakeCertificate*.class" />
+			</fileset>
+		</copy>
+
+		<!-- Build the JAR file -->
+		<jar basedir="${project.jar.dir}" destfile="${distribution.jarfile}" compress="true" />
+	</target>
+
+	<!--
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Build pom.xml for GitBlit JAR Maven module
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	-->
+	<target name="buildMaven" depends="buildJAR" description="Build pom.xml for Gitblit JAR Maven module">
+		<copy tofile="${distribution.pomfile}" file="${distribution.pomfileTmplt}"/>
+		<replace file="${distribution.pomfile}" token="@gb.version@" value="${gb.version}" />
+	</target>
+
+	<!--
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Install Gitblit JAR for usage as Maven module
+		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	-->
+	<target name="installMaven" depends="buildMaven" description="Install Gitblit JAR as Maven module">
+		<exec executable="mvn">
+			<arg value="install:install-file" />
+			<arg value="-Dfile=${distribution.jarfile}" />
+			<arg value="-DpomFile=${distribution.pomfile}" />
+			<arg value="-DcreateChecksum=true" />
+		</exec>
+	</target>
+
+	<!--
+    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    	Upload Gitblit JAR to remote Maven repository
+    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    -->
+	<target name="uploadMaven" depends="buildJAR" description="Upload Gitblit JAR to remote Maven repository">
+		<exec executable="mvn">
+			<arg value="deploy:deploy-file" />
+			<arg value="-Dfile=${distribution.jarfile}" />
+			<arg value="-DpomFile=${distribution.pomfile}" />
+			<arg value="-Durl=${project.maven.repo.url}" />
+			<arg value="-DrepositoryId=${project.maven.repo.id}" />
+			<arg value="-DcreateChecksum=true" />
+		</exec>
+	</target>
+
 	<!-- 
 		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 		Build the stand-alone, command-line Gitblit Federation Client
@@ -444,6 +534,7 @@
 				<exclude name="org.slf4j." />
 				<exclude name="com.beust." />
 				<exclude name="com.google." />
+				<exclude name="com.unboundid." />
 			</classfilter>
 			<classpath refid="master-classpath" />
 			<manifest>
@@ -504,6 +595,7 @@
 			<fileset dir="${basedir}/groovy">
 				<include name="sendmail.groovy" />
 				<include name="jenkins.groovy" />
+				<include name="protect-refs.groovy" />
 			</fileset>
 		</copy>
 					
@@ -533,18 +625,18 @@
 		<mkdir dir="${deployments.root}/WEB-INF/lib"/>
 		<copy todir="${deployments.root}/WEB-INF/lib">
 			<fileset dir="${basedir}/ext">
-				<exclude name="*-sources.jar" />
-				<exclude name="*-javadoc.jar" />
+				<exclude name="src/**" />
 				<exclude name="jcommander*.jar" />
 				<exclude name="jetty*.jar" />
 				<exclude name="junit*.jar" />
+				<exclude name="hamcrest*.jar" />
 				<exclude name="servlet*.jar" />
+				<exclude name="javax.servlet*.jar" />
 			</fileset>
 		</copy>
 
 		<!-- Gitblit classes -->
-		<mkdir dir="${deployments.root}/WEB-INF/classes"/>
-		<copy todir="${deployments.root}/WEB-INF/classes">
+		<jar destfile="${deployments.root}/WEB-INF/lib/gitblit-${gb.version}.jar">
 			<fileset dir="${project.build.dir}">
 				<exclude name="WEB-INF/" />
 				<exclude name="com/gitblit/tests/" />
@@ -554,7 +646,7 @@
 				<exclude name="com/gitblit/Launcher*.class" />
 				<exclude name="com/gitblit/MakeCertificate*.class" />
 			</fileset>
-		</copy>
+		</jar>
 
 		<!-- Build Express Zip file -->
 		<zip destfile="${express.zipfile}">
@@ -576,6 +668,7 @@
 			<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/git-orange-16x16.png" />
 			<resource file="${basedir}/resources/user_16x16.png" />
 			<resource file="${basedir}/resources/users_16x16.png" />
 			<resource file="${basedir}/resources/settings_16x16.png" />
@@ -592,8 +685,13 @@
 			<resource file="${basedir}/resources/search-icon.png" />
 			<resource file="${basedir}/resources/commit_changes_16x16.png" />
 			<resource file="${basedir}/resources/commit_merge_16x16.png" />
+			<resource file="${basedir}/resources/commit_divide_16x16.png" />
 			<resource file="${basedir}/resources/blank.png" />
 			<resource file="${basedir}/src/com/gitblit/wicket/GitBlitWebApp.properties" />
+			<resource file="${basedir}/src/com/gitblit/wicket/GitBlitWebApp_es.properties" />
+			<resource file="${basedir}/src/com/gitblit/wicket/GitBlitWebApp_ja.properties" />
+			<resource file="${basedir}/src/com/gitblit/wicket/GitBlitWebApp_ko.properties" />
+			<resource file="${basedir}/src/com/gitblit/wicket/GitBlitWebApp_pl.properties" />
 
 			<class name="com.gitblit.client.GitblitManagerLauncher" />
 			<classfilter>
@@ -603,6 +701,7 @@
 				<exclude name="org.slf4j." />
 				<exclude name="com.beust." />
 				<exclude name="com.google." />
+				<exclude name="com.unboundid." />
 			</classfilter>
 			<classpath refid="master-classpath" />
 			<manifest>
@@ -683,12 +782,10 @@
 					<include name="NOTICE" />
 				</fileset>
 				<fileset dir="${basedir}/ext">
+					<exclude name="src/**" />
 					<include name="gson*.jar" />
-					<exclude name="gson*-sources.jar" />
-					<exclude name="gson*-javadoc.jar" />
 					<include name="rome*.jar" />
-					<exclude name="rome*-sources.jar" />
-					<exclude name="rome*-javadoc.jar" />
+					<include name="jdom*.jar" />
 				</fileset>
 			</zip>
 		</target>
@@ -981,4 +1078,4 @@
 		<delete dir="${project.war.dir}" />
 		<delete dir="${project.deploy.dir}" />
 	</target>
-</project>
+</project>

--
Gitblit v1.9.1