From 8daefa09d99774639a355c0dfa2b989fa1007f5f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 11 Oct 2012 17:11:18 -0400
Subject: [PATCH] Created static repository close functions for unit testing and fixed Windows sharing violations
---
build.xml | 133 +++++++++++++++++++++++++++++++++++--------
1 files changed, 107 insertions(+), 26 deletions(-)
diff --git a/build.xml b/build.xml
index 8daebf1..86b613b 100644
--- a/build.xml
+++ b/build.xml
@@ -117,12 +117,21 @@
<delete dir="${project.build.dir}" />
<mkdir dir="${project.build.dir}" />
- <javac debug="true" srcdir="${basedir}/src" destdir="${project.build.dir}">
+ <javac debug="true" srcdir="${basedir}/src" destdir="${project.build.dir}" includeantruntime="false">
<include name="com/gitblit/build/Build.java" />
<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">
@@ -131,7 +140,7 @@
</fileset>
<pathelement path="${project.build.dir}" />
</path>
- <javac debug="true" destdir="${project.build.dir}" failonerror="false">
+ <javac debug="true" destdir="${project.build.dir}" failonerror="false" includeantruntime="false">
<src path="${basedir}/src" />
<classpath refid="master-classpath" />
</javac>
@@ -181,11 +190,33 @@
</manifest>
</jar>
+ <!-- Gitblit library dependencies -->
+ <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" />
+ </fileset>
+ </copy>
+
<!-- Build the docs for the deploy -->
<antcall target="buildDocs" inheritall="true" inheritrefs="true">
<param name="docs.output.dir" value="${project.deploy.dir}/docs" />
</antcall>
+ <!-- Copy the supported Groovy hook scripts -->
+ <mkdir dir="${project.deploy.dir}/groovy" />
+ <copy todir="${project.deploy.dir}/groovy">
+ <fileset dir="${basedir}/groovy">
+ <include name="sendmail.groovy" />
+ <include name="jenkins.groovy" />
+ <include name="protect-refs.groovy" />
+ <include name="localclone.groovy" />
+ </fileset>
+ </copy>
+
<!-- Create Zip deployment -->
<zip destfile="${distribution.zipfile}">
<fileset dir="${project.deploy.dir}">
@@ -207,9 +238,8 @@
<copy todir="${docs.output.dir}">
<!-- Copy selected Gitblit resources -->
<fileset dir="${project.resources.dir}">
- <include name="bootstrap.140.css" />
- <include name="bootstrap.gb.css" />
- <include name="markdown.css" />
+ <include name="bootstrap/**/*" />
+ <include name="gitblit.css" />
<include name="gitblt_25_white.png" />
<include name="gitblt-favicon.png" />
<include name="lock_go_16x16.png" />
@@ -226,6 +256,7 @@
<!-- Copy Doc images -->
<fileset dir="${basedir}/docs">
<include name="*.png" />
+ <include name="*.gif" />
</fileset>
</copy>
@@ -343,7 +374,18 @@
<antcall target="buildDocs" inheritall="true" inheritrefs="true">
<param name="docs.output.dir" value="${project.war.dir}/WEB-INF/docs" />
</antcall>
-
+
+ <!-- Copy the supported Groovy hook scripts -->
+ <mkdir dir="${project.war.dir}/WEB-INF/groovy" />
+ <copy todir="${project.war.dir}/WEB-INF/groovy">
+ <fileset dir="${basedir}/groovy">
+ <include name="sendmail.groovy" />
+ <include name="jenkins.groovy" />
+ <include name="protect-refs.groovy" />
+ <include name="localclone.groovy" />
+ </fileset>
+ </copy>
+
<!-- Build the WAR web.xml from the prototype web.xml and gitblit.properties -->
<java classpath="${project.build.dir}" classname="com.gitblit.build.BuildWebXml">
<classpath refid="master-classpath" />
@@ -369,12 +411,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>
@@ -386,6 +429,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" />
@@ -415,6 +459,7 @@
<exclude name="org.slf4j." />
<exclude name="com.beust." />
<exclude name="com.google." />
+ <exclude name="com.unboundid." />
</classfilter>
<classpath refid="master-classpath" />
<manifest>
@@ -443,7 +488,7 @@
Build a Gitblit filesystem for deployment to RedHat OpenShif Expresst
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
- <target name="buildOpenShift" depends="compile" description="Build exploded WAR file suitable for deployment to OpenShift Express">
+ <target name="buildExpress" depends="compile" description="Build exploded WAR file suitable for deployment to OpenShift Express">
<echo>Building Gitblit Express for RedHat OpenShift ${gb.version}</echo>
<delete dir="${project.express.dir}" />
@@ -469,6 +514,16 @@
<copy tofile="${deployments.root}/WEB-INF/reference.properties"
file="${basedir}/distrib/gitblit.properties"/>
+ <!-- Copy the supported Groovy hook scripts -->
+ <mkdir dir="${deployments.root}/WEB-INF/groovy" />
+ <copy todir="${deployments.root}/WEB-INF/groovy">
+ <fileset dir="${basedir}/groovy">
+ <include name="sendmail.groovy" />
+ <include name="jenkins.groovy" />
+ <include name="protect-refs.groovy" />
+ </fileset>
+ </copy>
+
<!-- Build the WAR web.xml from the prototype web.xml and gitblit.properties -->
<!-- THIS FILE IS NOT OVERRIDDEN ONCE IT IS BUILT!!! -->
<java classpath="${project.build.dir}" classname="com.gitblit.build.BuildWebXml">
@@ -495,18 +550,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/" />
@@ -516,7 +571,7 @@
<exclude name="com/gitblit/Launcher*.class" />
<exclude name="com/gitblit/MakeCertificate*.class" />
</fileset>
- </copy>
+ </jar>
<!-- Build Express Zip file -->
<zip destfile="${express.zipfile}">
@@ -538,7 +593,9 @@
<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" />
<resource file="${basedir}/resources/lock_go_16x16.png" />
<resource file="${basedir}/resources/lock_pull_16x16.png" />
@@ -553,8 +610,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>
@@ -564,6 +626,7 @@
<exclude name="org.slf4j." />
<exclude name="com.beust." />
<exclude name="com.google." />
+ <exclude name="com.unboundid." />
</classfilter>
<classpath refid="master-classpath" />
<manifest>
@@ -644,12 +707,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>
@@ -670,9 +731,8 @@
<copy todir="${project.site.dir}">
<!-- Copy selected Gitblit resources -->
<fileset dir="${project.resources.dir}">
- <include name="bootstrap.140.css" />
- <include name="bootstrap.gb.css" />
- <include name="markdown.css" />
+ <include name="bootstrap/**/*" />
+ <include name="gitblit.css" />
<include name="gitblt_25_white.png" />
<include name="gitblt-favicon.png" />
<include name="lock_go_16x16.png" />
@@ -689,6 +749,7 @@
<!-- Copy Doc images -->
<fileset dir="${basedir}/docs">
<include name="*.png" />
+ <include name="*.gif" />
<include name="*.js" />
</fileset>
</copy>
@@ -809,7 +870,7 @@
Compile from source, publish binaries, and build & deploy site
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
- <target name="buildAll" depends="buildGO,buildWAR,buildOpenShift,buildFederationClient,buildManager,buildApiLibrary,buildSite">
+ <target name="buildAll" depends="buildGO,buildWAR,buildExpress,buildFederationClient,buildManager,buildApiLibrary,buildSite">
<!-- Cleanup -->
<delete dir="${project.build.dir}" />
<delete dir="${project.war.dir}" />
@@ -817,13 +878,33 @@
<delete dir="${project.express.dir}" />
</target>
+
+ <!--
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Update the gh-pages branch with the current site
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ -->
+ <target name="updateGhPages" depends="buildSite">
+ <!-- Build gh-pages branch -->
+ <java classpath="${project.build.dir}" classname="com.gitblit.build.BuildGhPages">
+ <classpath refid="master-classpath" />
+ <arg value="--sourceFolder" />
+ <arg value="${basedir}/site" />
+
+ <arg value="--repository" />
+ <arg value="${basedir}" />
+
+ <arg value="--obliterate" />
+ </java>
+ </target>
+
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Publish binaries to Google Code
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
- <target name="publishBinaries" depends="buildGO,buildWAR,buildOpenShift,buildFederationClient,buildManager" description="Publish the Gitblit binaries to Google Code">
+ <target name="publishBinaries" depends="buildGO,buildWAR,buildExpress,buildFederationClient,buildManager,buildApiLibrary" description="Publish the Gitblit binaries to Google Code">
<echo>Uploading Gitblit ${gb.version} binaries</echo>
@@ -896,7 +977,7 @@
You must add ext/commons-net-1.4.0.jar to your ANT classpath.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
- <target name="publishSite" depends="buildSite" description="Publish the Gitblit site to a webserver (requires ext/commons-net-1.4.0.jar)" >
+ <target name="publishSite" depends="buildSite,updateGhPages" description="Publish the Gitblit site to a webserver (requires ext/commons-net-1.4.0.jar)" >
<echo>Uploading Gitblit ${gb.version} website</echo>
@@ -922,4 +1003,4 @@
<delete dir="${project.war.dir}" />
<delete dir="${project.deploy.dir}" />
</target>
-</project>
+</project>
--
Gitblit v1.9.1