From fe326255202dcfac8b0991ca9d28e3cf4bcc4fe6 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sun, 23 Oct 2011 12:28:48 -0400 Subject: [PATCH] Per-repository setting to skip summary metrics --- build.xml | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 204 insertions(+), 22 deletions(-) diff --git a/build.xml b/build.xml index 5d38648..107fac3 100644 --- a/build.xml +++ b/build.xml @@ -2,7 +2,11 @@ <project name="gitblit" default="compile" basedir="."> <!-- Google Code upload task --> - <taskdef classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask" classpath="${basedir}/tools/ant-googlecode-0.0.3.jar" name="gcupload"/> + <taskdef classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask" + classpath="${basedir}/tools/ant-googlecode-0.0.3.jar" name="gcupload"/> + + <!-- GenJar task --> + <taskdef resource="genjar.properties" classpath="${basedir}/tools/GenJar.jar" /> <!-- Project Properties --> <property name="project.jar" value="gitblit.jar" /> @@ -12,9 +16,19 @@ <property name="project.war.dir" value="${basedir}/war" /> <property name="project.site.dir" value="${basedir}/site" /> <property name="project.resources.dir" value="${basedir}/resources" /> + <available property="hasBuildProps" file="${basedir}/build.properties"/> - <!-- Load publication servers, paths, and credentials --> - <loadproperties srcfile="${basedir}/build.properties" /> + <!-- + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Load build.properties, if available + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --> + <target name="buildprops" if="hasBuildProps"> + <!-- Load publication servers, paths, and credentials --> + <loadproperties> + <file file="${basedir}/build.properties" /> + </loadproperties> + </target> <!-- @@ -22,7 +36,7 @@ Scrape the version info from code and setup the build properties ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> - <target name="buildinfo"> + <target name="buildinfo" depends="buildprops"> <!-- extract Gitblit version number from source code --> <loadfile property="gb.version" srcfile="${basedir}/src/com/gitblit/Constants.java"> @@ -70,6 +84,8 @@ </loadfile> <property name="distribution.zipfile" value="gitblit-${gb.version}.zip" /> <property name="distribution.warfile" value="gitblit-${gb.version}.war" /> + <property name="fedclient.zipfile" value="fedclient-${gb.version}.zip" /> + <property name="manager.zipfile" value="manager-${gb.version}.zip" /> </target> @@ -88,12 +104,17 @@ </fileset> </copy> + <!-- copy gitblit.properties to the WEB-INF folder. + this file is only used for parsing setting descriptions. --> + <copy todir="${basedir}/src/WEB-INF" overwrite="true" + file="${basedir}/distrib/gitblit.properties" /> + <!-- Compile the build tool and execute it. This downloads missing compile-time dependencies from Maven. --> <delete dir="${project.build.dir}" /> <mkdir dir="${project.build.dir}" /> - <javac srcdir="${basedir}/src" destdir="${project.build.dir}"> + <javac debug="true" srcdir="${basedir}/src" destdir="${project.build.dir}"> <include name="com/gitblit/build/Build.java" /> <include name="com/gitblit/Constants.java" /> <include name="com/gitblit/utils/StringUtils.java" /> @@ -105,8 +126,9 @@ <fileset dir="${basedir}/ext"> <include name="*.jar" /> </fileset> + <pathelement path="${project.build.dir}" /> </path> - <javac destdir="${project.build.dir}" failonerror="false"> + <javac debug="true" destdir="${project.build.dir}" failonerror="false"> <src path="${basedir}/src" /> <classpath refid="master-classpath" /> </javac> @@ -133,6 +155,7 @@ <copy todir="${project.deploy.dir}"> <fileset dir="${basedir}/distrib"> <include name="**/*" /> + <exclude name="federation.properties" /> </fileset> <fileset dir="${basedir}"> <include name="LICENSE" /> @@ -144,6 +167,7 @@ <jar jarfile="${project.deploy.dir}/${project.jar}"> <fileset dir="${project.build.dir}"> <include name="**/*" /> + <exclude name="com/gitblit/client/**" /> </fileset> <fileset dir="${project.resources.dir}"> <exclude name="thumbs.db" /> @@ -179,10 +203,10 @@ <copy todir="${docs.output.dir}"> <!-- Copy selected Gitblit resources --> <fileset dir="${project.resources.dir}"> - <include name="background.png" /> - <include name="gitblit.css" /> + <include name="bootstrap.130.css" /> + <include name="bootstrap.gb.css" /> <include name="markdown.css" /> - <include name="gitblt_25.png" /> + <include name="gitblt_25_white.png" /> <include name="gitblt-favicon.png" /> <include name="lock_go_16x16.png" /> <include name="lock_pull_16x16.png" /> @@ -191,6 +215,8 @@ <include name="bug_16x16.png" /> <include name="book_16x16.png" /> <include name="blank.png" /> + <include name="federated_16x16.png" /> + <include name="arrow_page.png" /> </fileset> <!-- Copy Doc images --> @@ -244,14 +270,32 @@ <arg value="%WAR%=${distribution.warfile}" /> <arg value="--substitute" /> + <arg value="%FEDCLIENT%=${fedclient.zipfile}" /> + + <arg value="--substitute" /> + <arg value="%MANAGER%=${manager.zipfile}" /> + + <arg value="--substitute" /> <arg value="%BUILDDATE%=${gb.versionDate}" /> <arg value="--substitute" /> <arg value="%JGIT%=${jgit.version}" /> - <arg value="--load" /> + <arg value="--properties" /> <arg value="%PROPERTIES%=${basedir}/distrib/gitblit.properties" /> + <arg value="--nomarkdown" /> + <arg value="%BEGINCODE%:%ENDCODE%" /> + + <arg value="--substitute" /> + <arg value=""%BEGINCODE%=<pre class='prettyprint lang-java'>"" /> + + <arg value="--substitute" /> + <arg value="%ENDCODE%=</pre>" /> + + <arg value="--regex" /> + <arg value=""\b(issue)(\s*[#]?|-){0,1}(\d+)\b!!!<a href='http://code.google.com/p/gitblit/issues/detail?id=$3'>issue $3</a>"" /> + </java> </target> @@ -267,10 +311,11 @@ <delete dir="${project.war.dir}" /> - <!-- Copy web.xml and users.properties to WEB-INF --> + <!-- Copy web.xml, users.properties, and gitblit.properties to WEB-INF --> <copy todir="${project.war.dir}/WEB-INF"> <fileset dir="${basedir}/distrib"> <include name="users.properties" /> + <include name="gitblit.properties" /> </fileset> <fileset dir="${basedir}/src/WEB-INF"> <include name="web.xml" /> @@ -327,6 +372,7 @@ <exclude name="WEB-INF/web.xml" /> <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/MakeCertificate*.class" /> @@ -338,6 +384,96 @@ </target> + <!-- + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Build the stand-alone, command-line Gitblit Federation Client + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --> + <target name="buildFederationClient" depends="compile" description="Builds the stand-alone Gitblit federation client"> + <echo>Building Gitblit Federation Client ${gb.version}</echo> + + <genjar jarfile="fedclient.jar"> + <class name="com.gitblit.FederationClientLauncher" /> + <resource file="${project.build.dir}/log4j.properties" /> + <classfilter> + <exclude name="org.apache." /> + <exclude name="org.bouncycastle." /> + <exclude name="org.eclipse." /> + <exclude name="org.slf4j." /> + <exclude name="com.beust." /> + <exclude name="com.google." /> + </classfilter> + <classpath refid="master-classpath" /> + <manifest> + <attribute name="Main-Class" value="com.gitblit.FederationClientLauncher" /> + <attribute name="Specification-Version" value="${gb.version}" /> + <attribute name="Release-Date" value="${gb.versionDate}" /> + </manifest> + </genjar> + + <!-- Build the federation client zip file --> + <zip destfile="${fedclient.zipfile}"> + <fileset dir="${basedir}"> + <include name="fedclient.jar" /> + </fileset> + <fileset dir="${basedir}/distrib"> + <include name="federation.properties" /> + </fileset> + </zip> + </target> + + + <!-- + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Build the stand-alone, Gitblit Manager + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --> + <target name="buildManager" depends="compile" description="Builds the stand-alone Gitblit Manager"> + <echo>Building Gitblit Manager ${gb.version}</echo> + + <genjar jarfile="manager.jar"> + <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/user_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" /> + <resource file="${basedir}/resources/shield_16x16.png" /> + <resource file="${basedir}/resources/federated_16x16.png" /> + <resource file="${basedir}/resources/cold_16x16.png" /> + <resource file="${basedir}/resources/book_16x16.png" /> + <resource file="${basedir}/resources/bug_16x16.png" /> + <resource file="${basedir}/resources/blank.png" /> + <resource file="${basedir}/src/com/gitblit/wicket/GitBlitWebApp.properties" /> + + <class name="com.gitblit.client.GitblitManagerLauncher" /> + <classfilter> + <exclude name="org.apache." /> + <exclude name="org.bouncycastle." /> + <exclude name="org.eclipse." /> + <exclude name="org.slf4j." /> + <exclude name="com.beust." /> + <exclude name="com.google." /> + </classfilter> + <classpath refid="master-classpath" /> + <manifest> + <attribute name="Main-Class" value="com.gitblit.client.GitblitManagerLauncher" /> + <attribute name="SplashScreen-Image" value="splash.png" /> + <attribute name="Specification-Version" value="${gb.version}" /> + <attribute name="Release-Date" value="${gb.versionDate}" /> + </manifest> + </genjar> + + <!-- Build the Manager zip file --> + <zip destfile="${manager.zipfile}"> + <fileset dir="${basedir}"> + <include name="manager.jar" /> + </fileset> + </zip> + </target> + + <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Build the Gitblit Website @@ -353,10 +489,10 @@ <copy todir="${project.site.dir}"> <!-- Copy selected Gitblit resources --> <fileset dir="${project.resources.dir}"> - <include name="background.png" /> - <include name="gitblit.css" /> + <include name="bootstrap.130.css" /> + <include name="bootstrap.gb.css" /> <include name="markdown.css" /> - <include name="gitblt_25.png" /> + <include name="gitblt_25_white.png" /> <include name="gitblt-favicon.png" /> <include name="lock_go_16x16.png" /> <include name="lock_pull_16x16.png" /> @@ -365,6 +501,8 @@ <include name="bug_16x16.png" /> <include name="book_16x16.png" /> <include name="blank.png" /> + <include name="federated_16x16.png" /> + <include name="arrow_page.png" /> </fileset> <!-- Copy Doc images --> @@ -423,9 +561,15 @@ <arg value="--pageHeader" /> <arg value="${basedir}/docs/site_header.html" /> - + <arg value="--pageFooter" /> <arg value="${basedir}/docs/site_footer.html" /> + + <arg value="--analyticsSnippet" /> + <arg value="${basedir}/docs/site_analytics.html" /> + + <arg value="--adSnippet" /> + <arg value="${basedir}/docs/site_ads.html" /> <arg value="--alias" /> <arg value="index=overview" /> @@ -443,15 +587,33 @@ <arg value="%WAR%=${distribution.warfile}" /> <arg value="--substitute" /> + <arg value="%FEDCLIENT%=${fedclient.zipfile}" /> + + <arg value="--substitute" /> + <arg value="%MANAGER%=${manager.zipfile}" /> + + <arg value="--substitute" /> <arg value="%BUILDDATE%=${gb.versionDate}" /> <arg value="--substitute" /> <arg value="%JGIT%=${jgit.version}" /> - <arg value="--load" /> + <arg value="--properties" /> <arg value="%PROPERTIES%=${basedir}/distrib/gitblit.properties" /> + + <arg value="--nomarkdown" /> + <arg value="%BEGINCODE%:%ENDCODE%" /> - </java> + <arg value="--substitute" /> + <arg value=""%BEGINCODE%=<pre class='prettyprint lang-java'>"" /> + + <arg value="--substitute" /> + <arg value="%ENDCODE%=</pre>" /> + + <arg value="--regex" /> + <arg value=""\b(issue)(\s*[#]?|-){0,1}(\d+)\b!!!<a href='http://code.google.com/p/gitblit/issues/detail?id=$3'>issue $3</a>"" /> + + </java> </target> @@ -460,7 +622,7 @@ Compile from source, publish binaries, and build & deploy site ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> - <target name="buildAll" depends="buildGO,buildWAR,buildSite"> + <target name="buildAll" depends="buildGO,buildWAR,buildFederationClient,buildManager,buildSite"> <!-- Cleanup --> <delete dir="${project.build.dir}" /> <delete dir="${project.war.dir}" /> @@ -473,7 +635,7 @@ Publish binaries to Google Code ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> - <target name="publishBinaries" depends="buildGO,buildWAR" description="Publish the Gitblit binaries to Google Code"> + <target name="publishBinaries" depends="buildGO,buildWAR,buildFederationClient,buildManager" description="Publish the Gitblit binaries to Google Code"> <echo>Uploading Gitblit ${gb.version} binaries</echo> @@ -484,7 +646,7 @@ projectname="gitblit" filename="${distribution.zipfile}" targetfilename="gitblit-${gb.version}.zip" - summary="Standalone, integrated Gitblit server v${gb.version}" + summary="Gitblit GO v${gb.version} (standalone, integrated Gitblit server)" labels="Featured, Type-Package, OpSys-All" /> <!-- Upload WAR file --> @@ -494,8 +656,28 @@ projectname="gitblit" filename="${distribution.warfile}" targetfilename="gitblit-${gb.version}.war" - summary="Gitblit WAR v${gb.version} for your servlet container" + summary="Gitblit WAR v${gb.version} (standard WAR webapp for servlet containers)" labels="Featured, Type-Package, OpSys-All" /> + + <!-- Upload FedClient --> + <gcupload + username="${googlecode.user}" + password="${googlecode.password}" + projectname="gitblit" + filename="${fedclient.zipfile}" + targetfilename="fedclient-${gb.version}.zip" + summary="Gitblit Federation Client v${gb.version} (command-line tool to clone data from federated Gitblit instances)" + labels="Featured, Type-Package, OpSys-All" /> + + <!-- Upload Manager --> + <gcupload + username="${googlecode.user}" + password="${googlecode.password}" + projectname="gitblit" + filename="${manager.zipfile}" + targetfilename="manager-${gb.version}.zip" + summary="Gitblit Manager v${gb.version} (Swing tool to remotely administer a Gitblit server)" + labels="Featured, Type-Package, OpSys-All" /> </target> @@ -531,4 +713,4 @@ <delete dir="${project.war.dir}" /> <delete dir="${project.deploy.dir}" /> </target> -</project> \ No newline at end of file +</project> -- Gitblit v1.9.1