From 4ad1ebce249519369d24b4ea7da1da62a685627a Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 23 Nov 2012 12:01:47 -0500 Subject: [PATCH] Mostly functional Gitblit Certificate Authority tool --- build.xml | 216 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 148 insertions(+), 68 deletions(-) diff --git a/build.xml b/build.xml index 7c5e8cc..8a7fd54 100644 --- a/build.xml +++ b/build.xml @@ -92,6 +92,7 @@ <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="authority.zipfile" value="authority-${gb.version}.zip" /> <property name="gbapi.zipfile" value="gbapi-${gb.version}.zip" /> <property name="express.zipfile" value="express-${gb.version}.zip" /> </target> @@ -117,6 +118,7 @@ <copy todir="${basedir}/certs" overwrite="false"> <fileset dir="${basedir}/distrib"> <include name="authority.conf" /> + <include name="*.tmpl" /> </fileset> </copy> @@ -200,12 +202,12 @@ <include name="authority.conf" /> </fileset> </copy> - + <!-- Build jar --> <jar jarfile="${project.deploy.dir}/${project.jar}"> <fileset dir="${project.build.dir}"> <include name="**/*" /> - <exclude name="com/gitblit/client/**" /> + <exclude name="com/gitblit/client/**" /> </fileset> <fileset dir="${project.resources.dir}"> <exclude name="thumbs.db" /> @@ -460,6 +462,7 @@ <exclude name="com/gitblit/GitBlitServer*.class" /> <exclude name="com/gitblit/Launcher*.class" /> <exclude name="com/gitblit/MakeCertificate*.class" /> + <exclude name="com/gitblit/authority/**" /> </fileset> </copy> @@ -487,6 +490,7 @@ <exclude name="com/gitblit/tests/" /> <exclude name="com/gitblit/build/**" /> <exclude name="com/gitblit/client/**" /> + <exclude name="com/gitblit/authority/**" /> <exclude name="com/gitblit/AddIndexedBranch*.class" /> <exclude name="com/gitblit/GitBlitServer*.class" /> <exclude name="com/gitblit/Launcher*.class" /> @@ -668,6 +672,7 @@ <exclude name="com/gitblit/GitBlitServer*.class" /> <exclude name="com/gitblit/Launcher*.class" /> <exclude name="com/gitblit/MakeCertificate*.class" /> + <exclude name="com/gitblit/authority/**" /> </fileset> </jar> @@ -745,73 +750,138 @@ </zip> </target> + <!-- - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Build the Gitblit API client library - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - --> - <target name="buildApiLibrary" depends="compile" description="Builds the Gitblit RPC client library"> - <echo>Building Gitblit API Library ${gb.version}</echo> + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Build the stand-alone, Gitblit Authority + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --> + <target name="buildAuthority" depends="compile" description="Builds the stand-alone Gitblit Authority"> + <echo>Building Gitblit Authority ${gb.version}</echo> + + <genjar jarfile="authority-${gb.version}.jar"> + <resource file="${basedir}/src/com/gitblit/client/splash.png" /> + <resource file="${basedir}/resources/gitblt-favicon.png" /> + <resource file="${basedir}/resources/user_16x16.png" /> + <resource file="${basedir}/resources/users_16x16.png" /> + <resource file="${basedir}/resources/rosette_16x16.png" /> + <resource file="${basedir}/resources/vcard_16x16.png" /> + <resource file="${basedir}/resources/settings_16x16.png" /> + <resource file="${basedir}/resources/search-icon.png" /> + <resource file="${basedir}/resources/blank.png" /> + <resource file="${basedir}/resources/bullet_green.png" /> + <resource file="${basedir}/resources/bullet_orange.png" /> + <resource file="${basedir}/resources/bullet_red.png" /> + <resource file="${basedir}/resources/bullet_white.png" /> + <resource file="${basedir}/resources/bullet_delete.png" /> + <resource file="${basedir}/resources/bullet_key.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.authority.GitblitAuthorityLauncher" /> + <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." /> + <exclude name="com.unboundid." /> + </classfilter> + <classpath refid="master-classpath" /> + <manifest> + <attribute name="Main-Class" value="com.gitblit.authority.GitblitAuthorityLauncher" /> + <attribute name="SplashScreen-Image" value="splash.png" /> + <attribute name="Specification-Version" value="${gb.version}" /> + <attribute name="Release-Date" value="${gb.versionDate}" /> + </manifest> + </genjar> + + <!-- Build Authority Zip file --> + <zip destfile="${authority.zipfile}"> + <fileset dir="${basedir}"> + <include name="authority-${gb.version}.jar" /> + <include name="LICENSE" /> + <include name="NOTICE" /> + </fileset> + <zipfileset dir="${basedir}/distrib" prefix="certs"> + <include name="authority.conf" /> + <include name="mail.tmpl" /> + <include name="instructions.tmpl" /> + </zipfileset> + </zip> + </target> + + <!-- + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Build the Gitblit API client library + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --> + <target name="buildApiLibrary" depends="compile" description="Builds the Gitblit RPC client library"> + <echo>Building Gitblit API Library ${gb.version}</echo> + + <!-- Build API Library jar --> + <genjar jarfile="gbapi-${gb.version}.jar"> + <class name="com.gitblit.Keys" /> + <class name="com.gitblit.client.GitblitClient" /> + <classpath refid="master-classpath" /> + <classfilter> + <exclude name="com.google.gson." /> + <exclude name="com.sun.syndication." /> + </classfilter> + <manifest> + <attribute name="Specification-Version" value="${gb.version}" /> + <attribute name="Release-Date" value="${gb.versionDate}" /> + </manifest> + </genjar> - <!-- Build API Library jar --> - <genjar jarfile="gbapi-${gb.version}.jar"> - <class name="com.gitblit.Keys" /> - <class name="com.gitblit.client.GitblitClient" /> - <classpath refid="master-classpath" /> - <classfilter> - <exclude name="com.google.gson." /> - <exclude name="com.sun.syndication." /> - </classfilter> - <manifest> - <attribute name="Specification-Version" value="${gb.version}" /> - <attribute name="Release-Date" value="${gb.versionDate}" /> - </manifest> - </genjar> - - <!-- Build API sources jar --> - <zip destfile="gbapi-${gb.version}-sources.jar"> - <fileset dir="${basedir}/src" defaultexcludes="yes"> - <include name="com/gitblit/Constants.java"/> - <include name="com/gitblit/GitBlitException.java"/> - <include name="com/gitblit/Keys.java"/> - <include name="com/gitblit/client/**/*.java"/> - <include name="com/gitblit/models/**/*.java"/> - <include name="com/gitblit/utils/**/*.java"/> - </fileset> - </zip> - - <!-- Build API JavaDoc jar --> - <javadoc destdir="${basedir}/javadoc"> - <fileset dir="${basedir}/src" defaultexcludes="yes"> - <include name="com/gitblit/Constants.java"/> - <include name="com/gitblit/GitBlitException.java"/> - <include name="com/gitblit/Keys.java"/> - <include name="com/gitblit/client/**/*.java"/> - <include name="com/gitblit/models/**/*.java"/> - <include name="com/gitblit/utils/**/*.java"/> - </fileset> - </javadoc> - <zip destfile="gbapi-${gb.version}-javadoc.jar"> - <fileset dir="${basedir}/javadoc" /> - </zip> - - <!-- Build the API library zip file --> - <zip destfile="${gbapi.zipfile}"> - <fileset dir="${basedir}"> - <include name="gbapi-${gb.version}.jar" /> - <include name="gbapi-${gb.version}-sources.jar" /> - <include name="gbapi-${gb.version}-javadoc.jar" /> - <include name="LICENSE" /> - <include name="NOTICE" /> - </fileset> - <fileset dir="${basedir}/ext"> - <exclude name="src/**" /> - <include name="gson*.jar" /> - <include name="rome*.jar" /> - <include name="jdom*.jar" /> - </fileset> - </zip> - </target> + <!-- Build API sources jar --> + <zip destfile="gbapi-${gb.version}-sources.jar"> + <fileset dir="${basedir}/src" defaultexcludes="yes"> + <include name="com/gitblit/Constants.java"/> + <include name="com/gitblit/GitBlitException.java"/> + <include name="com/gitblit/Keys.java"/> + <include name="com/gitblit/client/**/*.java"/> + <include name="com/gitblit/models/**/*.java"/> + <include name="com/gitblit/utils/**/*.java"/> + </fileset> + </zip> + + <!-- Build API JavaDoc jar --> + <javadoc destdir="${basedir}/javadoc"> + <fileset dir="${basedir}/src" defaultexcludes="yes"> + <include name="com/gitblit/Constants.java"/> + <include name="com/gitblit/GitBlitException.java"/> + <include name="com/gitblit/Keys.java"/> + <include name="com/gitblit/client/**/*.java"/> + <include name="com/gitblit/models/**/*.java"/> + <include name="com/gitblit/utils/**/*.java"/> + </fileset> + </javadoc> + <zip destfile="gbapi-${gb.version}-javadoc.jar"> + <fileset dir="${basedir}/javadoc" /> + </zip> + + <!-- Build the API library zip file --> + <zip destfile="${gbapi.zipfile}"> + <fileset dir="${basedir}"> + <include name="gbapi-${gb.version}.jar" /> + <include name="gbapi-${gb.version}-sources.jar" /> + <include name="gbapi-${gb.version}-javadoc.jar" /> + <include name="LICENSE" /> + <include name="NOTICE" /> + </fileset> + <fileset dir="${basedir}/ext"> + <exclude name="src/**" /> + <include name="gson*.jar" /> + <include name="rome*.jar" /> + <include name="jdom*.jar" /> + </fileset> + </zip> + </target> <!-- @@ -968,7 +1038,7 @@ Compile from source, publish binaries, and build & deploy site ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> - <target name="buildAll" depends="buildGO,buildWAR,buildExpress,buildFederationClient,buildManager,buildApiLibrary,buildSite"> + <target name="buildAll" depends="buildAuthority,buildGO,buildWAR,buildExpress,buildFederationClient,buildManager,buildApiLibrary,buildSite"> <!-- Cleanup --> <delete dir="${project.build.dir}" /> <delete dir="${project.war.dir}" /> @@ -1046,6 +1116,16 @@ summary="Gitblit Manager v${gb.version} (Swing tool to remotely administer a Gitblit server)" labels="Featured, Type-Package, OpSys-All" /> + <!-- Upload Gitblit Authority --> + <gcupload + username="${googlecode.user}" + password="${googlecode.password}" + projectname="gitblit" + filename="${authority.zipfile}" + targetfilename="authority-${gb.version}.zip" + summary="Gitblit Authority v${gb.version} (Swing tool to manage client SSL certificates)" + labels="Featured, Type-Package, OpSys-All" /> + <!-- Upload Gitblit API Library --> <gcupload username="${googlecode.user}" -- Gitblit v1.9.1