You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2010/05/10 16:31:44 UTC
svn commit: r942751 - in /incubator/chemistry/opencmis/trunk/release-tool:
./ build.xml
Author: fmui
Date: Mon May 10 14:31:44 2010
New Revision: 942751
URL: http://svn.apache.org/viewvc?rev=942751&view=rev
Log:
added a small tool to build a release
Added:
incubator/chemistry/opencmis/trunk/release-tool/
incubator/chemistry/opencmis/trunk/release-tool/build.xml
Added: incubator/chemistry/opencmis/trunk/release-tool/build.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/release-tool/build.xml?rev=942751&view=auto
==============================================================================
--- incubator/chemistry/opencmis/trunk/release-tool/build.xml (added)
+++ incubator/chemistry/opencmis/trunk/release-tool/build.xml Mon May 10 14:31:44 2010
@@ -0,0 +1,478 @@
+<?xml version="1.0"?>
+
+ <!--
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed
+ under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions
+ and limitations under the License.
+ -->
+
+<project name="OpenCMIS Release" basedir="." default="usage">
+ <!-- release version -->
+ <property name="snapshot.version" value="0.1-incubating-SNAPSHOT" />
+ <property name="release.name" value="chemistry-opencmis" />
+ <property name="release.version" value="0.1-incubating" />
+ <property name="release.candidate" value="-RC0.1" />
+
+ <!-- scm -->
+ <property name="svn.connection" value="http://svn.apache.org/repos/asf/incubator/chemistry/opencmis/trunk" />
+
+ <!-- documentation -->
+ <property name="doc.start" value="http://incubator.apache.org/chemistry/index.html" />
+
+ <!-- directories -->
+ <property name="release.basedir" value="${basedir}" />
+ <property name="release.dir" value="${release.basedir}/release" />
+ <property name="svn.dir" value="${release.basedir}/svn" />
+ <property name="doc.dir" value="${release.basedir}/doc" />
+ <property name="pack.dir" value="${release.basedir}/pack" />
+
+ <!-- tools -->
+ <property name="svn.bin" value="svn" />
+ <property name="maven.bin" value="mvn.bat" />
+ <property name="wget.bin" value="wget" />
+ <property name="gpg.bin" value="gpg" />
+
+ <!-- release files -->
+ <property name="release.file.source" value="${release.name}-${release.version}${release.candidate}-source" />
+ <property name="release.file.client" value="${release.name}-${release.version}${release.candidate}-client" />
+ <property name="release.file.client-dep" value="${release.name}-${release.version}${release.candidate}-client-dep" />
+ <property name="release.file.server" value="${release.name}-${release.version}${release.candidate}-server" />
+ <property name="release.file.inmemory" value="${release.name}-${release.version}${release.candidate}-server-inmemory" />
+ <property name="release.file.fileshare" value="${release.name}-${release.version}${release.candidate}-server-fileshare" />
+ <property name="release.file.browser" value="${release.name}-${release.version}${release.candidate}-browser" />
+
+ <!-- ============================= -->
+ <!-- usage -->
+ <!-- ============================= -->
+ <target name="usage">
+ <echo>prepare - fetches the code, changes the release version and downloads the documentation</echo>
+ <echo>build - runs the Maven build</echo>
+ <echo>pack - creates the release packages</echo>
+ </target>
+
+ <!-- ============================= -->
+ <!-- prepare -->
+ <!-- ============================= -->
+ <target name="prepare" depends="prepare-directories, prepare-checkout, prepare-documentation">
+ </target>
+
+ <target name="prepare-directories">
+ <!-- create directories -->
+ <delete dir="${release.dir}"/>
+ <mkdir dir="${release.dir}" />
+
+ <delete dir="${svn.dir}"/>
+ <mkdir dir="${svn.dir}" />
+
+ <delete dir="${doc.dir}"/>
+ <mkdir dir="${doc.dir}" />
+ </target>
+
+ <!-- ============================= -->
+ <!-- checkout -->
+ <!-- ============================= -->
+ <target name="prepare-checkout">
+ <!-- get the code -->
+ <exec executable="${svn.bin}">
+ <arg value="checkout" />
+ <arg value="${svn.connection}" />
+ <arg value="${svn.dir}" />
+ </exec>
+
+ <!-- change the release version -->
+ <replace dir="${svn.dir}" encoding="UTF-8" summary="true" value="<version>${release.version}${release.candidate}</version>">
+ <include name="**/pom.xml"/>
+ <replacetoken expandProperties="true"><version>${snapshot.version}</version></replacetoken>
+ </replace>
+ </target>
+
+ <!-- ============================= -->
+ <!-- documentation -->
+ <!-- ============================= -->
+ <target name="prepare-documentation">
+ <!-- get the documentation -->
+ <exec executable="${wget.bin}">
+ <arg value="--directory-prefix=${doc.dir}" />
+ <arg value="--recursive" />
+ <arg value="--convert-links" />
+ <arg value="--include=/chemistry" />
+ <arg value="--accept=opencmis*,index.html,css,js,gif,png,jpg" />
+ <arg value="${doc.start}" />
+ </exec>
+
+ <!-- move it to the right place -->
+ <move todir="${doc.dir}">
+ <fileset dir="${doc.dir}/incubator.apache.org/chemistry"/>
+ </move>
+ <delete dir="${doc.dir}/incubator.apache.org"/>
+ </target>
+
+ <!-- ============================= -->
+ <!-- build -->
+ <!-- ============================= -->
+ <target name="build">
+ <!-- run Maven build -->
+ <exec executable="${maven.bin}" dir="${svn.dir}">
+ <arg value="clean" />
+ <arg value="install" />
+ <arg value="javadoc:aggregate" />
+ <arg value="assembly:assembly" />
+ </exec>
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack -->
+ <!-- ============================= -->
+ <target name="pack" depends="pack-source, pack-client, pack-server, pack-browser">
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack source -->
+ <!-- ============================= -->
+ <target name="pack-source">
+ <!-- pack the source code -->
+ <delete dir="${pack.dir}"/>
+ <mkdir dir="${pack.dir}" />
+
+ <!-- copy everything -->
+ <copy todir="${pack.dir}" file="${svn.dir}/LICENSE.txt" />
+ <copy todir="${pack.dir}" file="${svn.dir}/NOTICE.txt" />
+
+ <copy todir="${pack.dir}/src">
+ <fileset dir="${svn.dir}">
+ <exclude name="LICENSE.txt"/>
+ <exclude name="NOTICE.txt"/>
+ <exclude name="**/.svn/**"/>
+ <exclude name="**/target/**"/>
+ <exclude name="**/_dev/**"/>
+ <exclude name="**/release-tools/**"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${pack.dir}/docs">
+ <fileset dir="${doc.dir}" />
+ </copy>
+
+ <copy todir="${pack.dir}/javadoc">
+ <fileset dir="${svn.dir}/target/site/apidocs" />
+ </copy>
+
+ <!-- create zip -->
+ <zip destfile="${release.dir}/${release.file.source}.zip" basedir="${pack.dir}" />
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.source}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.source}.zip" />
+ </exec>
+
+ <!-- create tar.gz -->
+ <tar destfile="${release.dir}/${release.file.source}.tar.gz" basedir="${pack.dir}" compression="gzip"/>
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.source}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.source}.tar.gz" />
+ </exec>
+
+ <!-- clean up -->
+ <delete dir="${pack.dir}"/>
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack client -->
+ <!-- ============================= -->
+ <target name="pack-client">
+ <delete dir="${pack.dir}"/>
+ <mkdir dir="${pack.dir}" />
+
+ <copy todir="${pack.dir}" file="${svn.dir}/LICENSE.txt" />
+ <copy todir="${pack.dir}" file="${svn.dir}/NOTICE.txt" />
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-commons/chemistry-opencmis-commons-api/target">
+ <include name="*.jar"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/target">
+ <include name="*.jar"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-client/chemistry-opencmis-client-bindings/target">
+ <include name="*.jar"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-client/chemistry-opencmis-client-api/target">
+ <include name="*.jar"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-client/chemistry-opencmis-client-impl/target">
+ <include name="*.jar"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <!-- create zip -->
+ <zip destfile="${release.dir}/${release.file.client}.zip" basedir="${pack.dir}" />
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.client}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.client}.zip" />
+ </exec>
+
+ <!-- create tar.gz -->
+ <tar destfile="${release.dir}/${release.file.client}.tar.gz" basedir="${pack.dir}" compression="gzip"/>
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.client}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.client}.tar.gz" />
+ </exec>
+
+ <!-- use the current pack folder and add dependencies -->
+ <unzip dest="${pack.dir}">
+ <fileset dir="${svn.dir}/target">
+ <include name="*client*.zip"/>
+ </fileset>
+ <patternset>
+ <include name="*.jar"/>
+ <exclude name="chemistry-opencmis*"/>
+ <exclude name="junit*"/>
+ </patternset>
+ </unzip>
+
+ <!-- create zip -->
+ <zip destfile="${release.dir}/${release.file.client-dep}.zip" basedir="${pack.dir}" />
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.client-dep}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.client-dep}.zip" />
+ </exec>
+
+ <!-- create tar.gz -->
+ <tar destfile="${release.dir}/${release.file.client-dep}.tar.gz" basedir="${pack.dir}" compression="gzip"/>
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.client-dep}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.client-dep}.tar.gz" />
+ </exec>
+
+ <delete dir="${pack.dir}"/>
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack server -->
+ <!-- ============================= -->
+ <target name="pack-server" depends="pack-server-server, pack-server-inmemory, pack-server-fileshare">
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack server server -->
+ <!-- ============================= -->
+ <target name="pack-server-server">
+ <delete dir="${pack.dir}"/>
+ <mkdir dir="${pack.dir}" />
+
+ <copy todir="${pack.dir}" file="${svn.dir}/LICENSE.txt" />
+ <copy todir="${pack.dir}" file="${svn.dir}/NOTICE.txt" />
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-server/chemistry-opencmis-server-bindings/target">
+ <include name="*.war"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-server/chemistry-opencmis-server-support/target">
+ <include name="*.jar"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <!-- create zip -->
+ <zip destfile="${release.dir}/${release.file.server}.zip" basedir="${pack.dir}" />
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.server}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.server}.zip" />
+ </exec>
+
+ <!-- create tar.gz -->
+ <tar destfile="${release.dir}/${release.file.server}.tar.gz" basedir="${pack.dir}" compression="gzip"/>
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.server}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.server}.tar.gz" />
+ </exec>
+
+ <delete dir="${pack.dir}"/>
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack server inmemory -->
+ <!-- ============================= -->
+ <target name="pack-server-inmemory">
+ <delete dir="${pack.dir}"/>
+ <mkdir dir="${pack.dir}" />
+
+ <copy todir="${pack.dir}" file="${svn.dir}/LICENSE.txt" />
+ <copy todir="${pack.dir}" file="${svn.dir}/NOTICE.txt" />
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/target">
+ <include name="*.war"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <!-- create zip -->
+ <zip destfile="${release.dir}/${release.file.inmemory}.zip" basedir="${pack.dir}" />
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.inmemory}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.inmemory}.zip" />
+ </exec>
+
+ <!-- create tar.gz -->
+ <tar destfile="${release.dir}/${release.file.inmemory}.tar.gz" basedir="${pack.dir}" compression="gzip"/>
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.inmemory}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.inmemory}.tar.gz" />
+ </exec>
+
+ <delete dir="${pack.dir}"/>
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack server fileshare -->
+ <!-- ============================= -->
+ <target name="pack-server-fileshare">
+ <delete dir="${pack.dir}"/>
+ <mkdir dir="${pack.dir}" />
+
+ <copy todir="${pack.dir}" file="${svn.dir}/LICENSE.txt" />
+ <copy todir="${pack.dir}" file="${svn.dir}/NOTICE.txt" />
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/target">
+ <include name="*.war"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <!-- create zip -->
+ <zip destfile="${release.dir}/${release.file.fileshare}.zip" basedir="${pack.dir}" />
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.fileshare}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.fileshare}.zip" />
+ </exec>
+
+ <!-- create tar.gz -->
+ <tar destfile="${release.dir}/${release.file.fileshare}.tar.gz" basedir="${pack.dir}" compression="gzip"/>
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.fileshare}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.fileshare}.tar.gz" />
+ </exec>
+
+ <delete dir="${pack.dir}"/>
+ </target>
+
+ <!-- ============================= -->
+ <!-- pack browser -->
+ <!-- ============================= -->
+ <target name="pack-browser">
+ <delete dir="${pack.dir}"/>
+ <mkdir dir="${pack.dir}" />
+
+ <copy todir="${pack.dir}" file="${svn.dir}/LICENSE.txt" />
+ <copy todir="${pack.dir}" file="${svn.dir}/NOTICE.txt" />
+
+ <copy todir="${pack.dir}">
+ <fileset dir="${svn.dir}/chemistry-opencmis-test/chemistry-opencmis-test-browser-app/target">
+ <include name="*.war"/>
+ <exclude name="*sources*"/>
+ </fileset>
+ </copy>
+
+ <!-- create zip -->
+ <zip destfile="${release.dir}/${release.file.browser}.zip" basedir="${pack.dir}" />
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.browser}.zip.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.browser}.zip" />
+ </exec>
+
+ <!-- create tar.gz -->
+ <tar destfile="${release.dir}/${release.file.browser}.tar.gz" basedir="${pack.dir}" compression="gzip"/>
+
+ <exec executable="${gpg.bin}" dir="${release.dir}">
+ <arg value="--armor" />
+ <arg value="--output" />
+ <arg value="${release.file.browser}.tar.gz.asc" />
+ <arg value="--detach-sig" />
+ <arg value="${release.file.browser}.tar.gz" />
+ </exec>
+
+ <delete dir="${pack.dir}"/>
+ </target>
+
+</project>
\ No newline at end of file