From 1e2c114fca3cfbf3ec4018af80933f9659465a1b Mon Sep 17 00:00:00 2001
From: Gustavo Henrique <gustavo@gustavohenrique.net>
Date: Wed, 24 Jul 2013 14:18:01 -0400
Subject: [PATCH] Copy static files to classes dir.

---
 build.xml |  189 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 142 insertions(+), 47 deletions(-)

diff --git a/build.xml b/build.xml
index cc58f60..d995703 100644
--- a/build.xml
+++ b/build.xml
@@ -185,6 +185,13 @@
 		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 	-->
 	<target name="run" depends="compile" description="Run Gitblit GO">
+        <!-- copy static files -->
+        <copy todir="${basedir}/build/classes" overwrite="false">
+            <fileset dir="${project.resources.dir}">
+                <exclude name="thumbs.db" />
+                <exclude name="*.mkd" />
+            </fileset>
+        </copy>
 		
 		<!-- run the mainclass in a separate JVM -->
 		<mx:run fork="true" />
@@ -280,6 +287,7 @@
 		<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" />
@@ -295,12 +303,14 @@
 			<class name="com.gitblit.SyndicationFilter" />
 			<class name="com.gitblit.SyndicationServlet" />
 			<class name="com.gitblit.SparkleShareInviteServlet" />
+			<class name="com.gitblit.wicket.GitblitWicketFilter" />
 			<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" />
+			<class name="com.gitblit.PAMUserService" />
 		</mx:genjar>
 
 		<!-- Build the WAR file -->
@@ -335,6 +345,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>
@@ -397,6 +408,7 @@
 		<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" />
@@ -412,12 +424,14 @@
 			<class name="com.gitblit.SyndicationFilter" />
 			<class name="com.gitblit.SyndicationServlet" />
 			<class name="com.gitblit.SparkleShareInviteServlet" />
+			<class name="com.gitblit.wicket.GitblitWicketFilter" />
 			<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" />
+			<class name="com.gitblit.PAMUserService" />
 		</mx:genjar>
 
 		<!-- Build Express Zip file -->
@@ -484,6 +498,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>
@@ -547,6 +566,7 @@
 			</resource>
 
 			<mainclass name="com.gitblit.authority.Launcher" />
+			<class name="com.gitblit.Keys" />
 			<manifest>
 				<attribute name="SplashScreen-Image" value="splash.png" />
 			</manifest>
@@ -673,17 +693,29 @@
 					<page name="screenshots" src="screenshots.mkd" />
 				</menu>
 				<menu name="documentation" pager="true" pagerPlacement="bottom" pagerLayout="justified">
-					<page name="setup GO" src="setup_go.mkd" />
-					<page name="upgrade GO" src="upgrade_go.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 />
-					<page name="setup WAR" src="setup_war.mkd" />
-					<page name="upgrade WAR" src="upgrade_war.mkd" />
+					<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="setup.mkd" />
+					<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 />
@@ -794,7 +826,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>
@@ -805,51 +837,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>
 
@@ -857,32 +910,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.
@@ -892,19 +936,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>
 
 		
@@ -923,11 +993,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" />

--
Gitblit v1.9.1