You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2008/02/18 11:02:46 UTC
svn commit: r628673 - /cocoon/trunk/tools/release-builder/build.xml
Author: reinhard
Date: Mon Feb 18 02:02:40 2008
New Revision: 628673
URL: http://svn.apache.org/viewvc?rev=628673&view=rev
Log:
release artifacts for cocoon-fop-block and cocoon-core can be created now (deployment to staging location hasn't been tested yet though)
Modified:
cocoon/trunk/tools/release-builder/build.xml
Modified: cocoon/trunk/tools/release-builder/build.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/tools/release-builder/build.xml?rev=628673&r1=628672&r2=628673&view=diff
==============================================================================
--- cocoon/trunk/tools/release-builder/build.xml (original)
+++ cocoon/trunk/tools/release-builder/build.xml Mon Feb 18 02:02:40 2008
@@ -17,83 +17,146 @@
specific language governing permissions and limitations
under the License.
-->
-<project>
+<project xmlns:artifact="urn:maven-artifact-ant">
+
+ <path id="maven-ant-tasks.classpath" path="maven-ant-tasks-2.0.8.jar" />
+ <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpathref="maven-ant-tasks.classpath" />
<!-- TODO clean up properties (consistent naming, external properties file, etc.) -->
- <property name="downloadUrl" value="http://repo1.maven.org/maven2/org/apache/cocoon/" />
+ <property name="download.url" value="http://repo1.maven.org/maven2/org/apache/cocoon/" />
<property name="deploy.server" value="people.apache.org" />
<property name="deploy.path" value="/home/reinhard/cocoon-staging" />
<property name="deploy.user" value="reinhard" />
- <property name="docs-output-dir" value="" />
- <property name="target-dir" value="./target" />
- <property name="release-dir" value="${target-dir}/release" />
+ <property name="target.dir" value="./target" />
+ <property name="release.dir" value="${target.dir}/release" />
<target name="init">
- <delete dir="${target-dir}" />
- <mkdir dir="${release-dir}" />
+ <delete dir="${target.dir}" />
+ <mkdir dir="${release.dir}" />
+ </target>
+
+ <target name="core" depends="init">
+ <add-module name="cocoon-core" version="2.2.0-RC2" type="core" />
+ <add-module name="cocoon-pipeline-api" version="1.0.0-RC2" type="pipeline-api" />
+ <add-module name="cocoon-pipeline-impl" version="1.0.0-RC2" type="pipeline-impl" />
+ <add-module name="cocoon-pipeline-components" version="1.0.0-RC2" type="pipeline-components" />
+ <add-module name="cocoon-expression-language-api" version="1.0.0-RC2" type="expression-language-api" />
+ <add-module name="cocoon-expression-language-impl" version="1.0.0-RC2" type="expression-language-impl" />
+ <add-module name="cocoon-sitemap-api" version="1.0.0-RC2" type="sitemap-api" />
+ <add-module name="cocoon-sitemap-components" version="1.0.0-RC2" type="sitemap-components" />
+ <add-module name="cocoon-sitemap-impl" version="1.0.0-RC2" type="sitemap-impl" />
+ <add-module name="cocoon-store-impl" version="1.0.0-RC2" type="store-impl" />
+ <add-module name="cocoon-thread-api" version="1.0.0-RC2" type="thread-api" />
+ <add-module name="cocoon-thread-impl" version="1.0.0-RC2" type="thread-impl" />
+ <add-module name="cocoon-util" version="1.0.0-RC2" type="util" />
+ <add-module name="cocoon-xml-api" version="1.0.0-RC2" type="xml-api" />
+ <add-module name="cocoon-xml-impl" version="1.0.0-RC2" type="xml-impl" />
+ <add-module name="cocoon-xml-resolver" version="1.0.0-RC2" type="xml-resolver" />
+ <add-module name="cocoon-xml-util" version="1.0.0-RC2" type="xml-util" />
+ <dist file="${target.dir}/cocoon-2.2.0-dist" deploy-group-name="" />
</target>
<target name="fop-block" depends="init">
- <block-dist name="cocoon-fop-impl" version="1.0.0-RC2" />
+ <create-block-dist-impl name-impl="cocoon-fop-impl" version="1.0.0-RC2" name="cocoon-fop-block" />
</target>
- <macrodef name="block-dist">
+ <macrodef name="create-block-dist-api-impl">
+ <attribute name="name" />
+ <attribute name="name-api" />
+ <attribute name="name-impl" />
+ <attribute name="version" />
+ <attribute name="type" />
+ <sequential>
+ <add-module name="@{name-api}" version="@{version}" type="api" />
+ <add-module name="@{name-impl}" version="@{version}" type="impl" />
+ <dist file="@{name}-@{version}-dist" deploy-group-name="@{name}" />
+ </sequential>
+ </macrodef>
+
+ <macrodef name="create-block-dist-impl">
+ <attribute name="name" />
+ <attribute name="name-impl" />
+ <attribute name="version" />
+ <sequential>
+ <add-module name="@{name-impl}" version="@{version}" type="impl" />
+ <dist file="${target.dir}/@{name}-@{version}-dist" deploy-group-name="@{deploy-group-name}" />
+ </sequential>
+ </macrodef>
+
+ <macrodef name="dist">
+ <attribute name="file" />
+ <attribute name="deploy-group-name" />
+ <sequential>
+ <create-package file="@{file}" />
+ <create-checksum file="@{file}" />
+ <gpg-sign file="@{file}" />
+ <!--deploy-staging file="@{file}" deploy-group-name="@{deploy-group-name}" /-->
+ </sequential>
+ </macrodef>
+
+ <macrodef name="add-module">
<attribute name="name" />
<attribute name="version" />
+ <attribute name="type" />
+ <attribute name="jarFileName" default="@{name}-@{version}.jar" />
+ <attribute name="sourcesFileName" default="@{name}-@{version}-sources.jar" />
+ <attribute name="javadocFileName" default="@{name}-@{version}-javadoc.jar" />
+ <attribute name="distFileName" default="@{name}-@{version}-dist" />
+
<sequential>
- <property name="jarFileName" value="@{name}-@{version}.jar" />
- <property name="sourcesFileName" value="@{name}-@{version}-sources.jar" />
- <property name="javadocFileName" value="@{name}-@{version}-javadoc.jar" />
- <property name="distFileName" value="@{name}-@{version}-dist" />
-
- <get dest="${target-dir}/${jarFileName}" src="${downloadUrl}/@{name}/@{version}/${jarFileName}" />
- <get dest="${target-dir}/${sourcesFileName}" src="${downloadUrl}/@{name}/@{version}/${sourcesFileName}" />
- <get dest="${target-dir}/${javadocFileName}" src="${downloadUrl}/@{name}/@{version}/${javadocFileName}" />
+ <get dest="${target.dir}/@{jarFileName}" src="${download.url}/@{name}/@{version}/@{jarFileName}" />
+ <get dest="${target.dir}/@{sourcesFileName}" src="${download.url}/@{name}/@{version}/@{sourcesFileName}" />
+ <get dest="${target.dir}/@{javadocFileName}" src="${download.url}/@{name}/@{version}/@{javadocFileName}" />
<!-- copy the docs -->
- <mkdir dir="${release-dir}/docs" />
+ <mkdir dir="${release.dir}/@{type}/docs" />
<!-- unzip Javadocs -->
- <mkdir dir="${release-dir}/docs/apidocs" />
- <unzip src="${target-dir}/${javadocFileName}" dest="${release-dir}/docs/apidocs" />
+ <unzip src="${target.dir}/@{javadocFileName}" dest="${release.dir}/@{type}/docs/apidocs" />
<!-- unzip Sources -->
- <mkdir dir="${release-dir}/src" />
- <unzip src="${target-dir}/${sourcesFileName}" dest="${release-dir}/src" />
+ <unzip src="${target.dir}/@{sourcesFileName}" dest="${release.dir}/@{type}/src" />
<!-- copy the binaries -->
- <copy file="${target-dir}/${jarFileName}" tofile="${release-dir}/${jarFileName}" />
+ <copy file="${target.dir}/@{jarFileName}" tofile="${release.dir}/@{jarFileName}" />
<!-- notice and license files -->
- <unzip src="${target-dir}/${jarFileName}" dest="${release-dir}">
+ <unzip src="${target.dir}/@{jarFileName}" dest="${release.dir}">
<patternset>
<include name="META-INF/license.txt" />
<include name="META-INF/notice.txt" />
</patternset>
<mapper type="flatten" />
</unzip>
-
- <!-- package, sign and release files -->
- <package-sign-deploy file="${target-dir}/${distFileName}" />
</sequential>
</macrodef>
- <macrodef name="package-sign-deploy">
+ <macrodef name="create-package">
<attribute name="file" />
<sequential>
<!-- create packages -->
- <zip destfile="@{file}.zip" basedir="${release-dir}" />
- <tar tarfile="@{file}.tar" basedir="${release-dir}" />
+ <zip destfile="@{file}.zip" basedir="${release.dir}" />
+ <tar tarfile="@{file}.tar" basedir="${release.dir}" />
<gzip zipfile="@{file}.tar.gz" src="@{file}.tar" />
<delete file="@{file}.tar" />
+ </sequential>
+ </macrodef>
+ <macrodef name="create-checksum">
+ <attribute name="file" />
+ <sequential>
<!-- checksums -->
<checksum algorithm="SHA" file="@{file}.zip" fileext=".sha1" />
<checksum file="@{file}.zip" fileext=".md5" />
<checksum algorithm="SHA" file="@{file}.tar.gz" fileext=".sha1" />
<checksum file="@{file}.tar.gz" fileext=".md5" />
+ </sequential>
+ </macrodef>
+ <macrodef name="gpg-sign">
+ <attribute name="file" />
+ <sequential>
<!-- gpg -->
<gpg-sign-file file="@{file}.zip" />
<gpg-sign-file file="@{file}.zip.md5" />
@@ -101,21 +164,28 @@
<gpg-sign-file file="@{file}.tar.gz" />
<gpg-sign-file file="@{file}.tar.gz.md5" />
<gpg-sign-file file="@{file}.tar.gz.sha1" />
+ </sequential>
+ </macrodef>
+ <macrodef name="deploy-staging">
+ <attribute name="file" />
+ <attribute name="deploy-group-name" />
+ <sequential>
<!-- scp to staging repository -->
- <local-scp file="@{file}.zip" />
- <local-scp file="@{file}.zip.md5" />
- <local-scp file="@{file}.zip.sha1" />
- <local-scp file="@{file}.tar.gz" />
- <local-scp file="@{file}.tar.gz.md5" />
- <local-scp file="@{file}.tar.gz.sha1" />
+ <deploy-via-scp file="@{file}.zip" deploy-group-name="@{deploy-group-name}" />
+ <deploy-via-scp file="@{file}.zip.md5" deploy-group-name="@{deploy-group-name}" />
+ <deploy-via-scp file="@{file}.zip.sha1" deploy-group-name="@{deploy-group-name}" />
+ <deploy-via-scp file="@{file}.tar.gz" deploy-group-name="@{deploy-group-name}" />
+ <deploy-via-scp file="@{file}.tar.gz.md5" deploy-group-name="@{deploy-group-name}" />
+ <deploy-via-scp file="@{file}.tar.gz.sha1" deploy-group-name="@{deploy-group-name}" />
</sequential>
</macrodef>
- <macrodef name="local-scp">
+ <macrodef name="deploy-via-scp">
<attribute name="file" />
+ <attribute name="deploy-group-name" />
<sequential>
- <exec command="scp @{file} ${deploy.user}@${deploy.server}:${deploy.path}" />
+ <exec command="scp @{file} ${deploy.user}@${deploy.server}:${deploy.path}/@{deploy-group-name}" />
</sequential>
</macrodef>
@@ -125,5 +195,18 @@
<exec command="gpg -sba --passphrase-file ${gpg-passphrase.file} @{file}" />
</sequential>
</macrodef>
+
+
+ <!--target name="test" depends="init">
+ <artifact:dependencies filesetId="dependency.fileset">
+ <dependency groupId="org.apache.cocoon" artifactId="cocoon-fop-impl" version="1.0.0-RC2">
+ <exclusion groupId="org.apache.cocoon" artifactId="cocoon-core"/>
+ </dependency>
+ </artifact:dependencies>
+ <copy todir="${release.dir}">
+ <fileset refid="dependency.fileset" />
+ <mapper type="flatten" />
+ </copy>
+ </target-->
</project>