You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2008/03/09 22:27:01 UTC

svn commit: r635362 - in /tapestry/tapestry5/trunk: LICENSE-2.0.txt LICENSE.txt build.xml support/maven-ant-tasks-2.0.8.jar tapestry-hibernate/LICENSE.hibernate.txt tapestry-hibernate/LICENSE.txt

Author: hlship
Date: Sun Mar  9 14:26:59 2008
New Revision: 635362

URL: http://svn.apache.org/viewvc?rev=635362&view=rev
Log:
TAPESTRY-2164: The Tapestry binary distribution should include appropriate third party dependencies

Added:
    tapestry/tapestry5/trunk/LICENSE.txt
      - copied unchanged from r635142, tapestry/tapestry5/trunk/LICENSE-2.0.txt
    tapestry/tapestry5/trunk/support/maven-ant-tasks-2.0.8.jar   (with props)
Removed:
    tapestry/tapestry5/trunk/LICENSE-2.0.txt
    tapestry/tapestry5/trunk/tapestry-hibernate/LICENSE.hibernate.txt
Modified:
    tapestry/tapestry5/trunk/build.xml
    tapestry/tapestry5/trunk/tapestry-hibernate/LICENSE.txt

Modified: tapestry/tapestry5/trunk/build.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/build.xml?rev=635362&r1=635361&r2=635362&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/build.xml (original)
+++ tapestry/tapestry5/trunk/build.xml Sun Mar  9 14:26:59 2008
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!-- 
-   Copyright 2007 The Apache Software Foundation
+   Copyright 2007, 2008 The Apache Software Foundation
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -15,13 +15,17 @@
    limitations under the License.
 -->
 
-<project default="generate">
+<project default="generate" xmlns:mvn="urn:maven-artifact-ant">
 
     <!-- Requires Ant 1.7.0 to execute! -->
 
     <property name="target.dir" value="target"/>
     <!-- Binary and source distributions, in .zip and .tar.gz formats, go here. -->
     <property name="dists.dir" value="${target.dir}/dist"/>
+    <!-- Directory that contains the image for the binary distro. -->
+    <property name="binimage.dir" value="${target.dir}/bin-image"/>
+
+    <property name="group" value="org.apache.tapestry"/>
 
 
     <!-- Read the Maven POM ... -->
@@ -36,61 +40,87 @@
     <property name="bin.zip" value="${dists.dir}/tapestry-bin-${version}.zip"/>
     <property name="src.zip" value="${dists.dir}/tapestry-src-${version}.zip"/>
 
-    <!-- This has to be kept synchronized with the modules, as they change. We include just the "runtime" modules,
-  no the ones used only within a Maven build; if the user is using Maven, they know how to (let Maven) get
-  the code. -->
-
-    <target name="assemble" description="Build distribution files.">
-        <mkdir dir="${dists.dir}"/>
+    <macrodef name="copyto">
+        <attribute name="dir"/>
+        <attribute name="filesetid"/>
 
-        <echo>*** Building distribution for project version ${version} ***</echo>
+        <sequential>
+            <mkdir dir="@{dir}"/>
+            <copy todir="@{dir}" flatten="true">
+                <fileset refid="@{filesetid}"/>
+            </copy>
+        </sequential>
+    </macrodef>
 
-        <echo>Building binary distribution</echo>
+    <macrodef name="copy-licenses">
+        <attribute name="module"/>
 
-        <zip destfile="${bin.zip}">
-            <fileset dir="." includes="LICENSE*,*.txt"/>
+        <sequential>
+            <copy todir="${binimage.dir}" flatten="true">
+                <fileset dir="@{module}" includes="${licenses}"/>
+                <globmapper from="*" to="@{module}-*"/>
+            </copy>
+        </sequential>
 
-            <!-- Folds the licences and the JARs into the subfolder.  Repetitive but such is life. -->
 
-            <zipfileset prefix="tapestry-annotations" dir="tapestry-annotations" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-annotations" dir="tapestry-annotations/target" includes="*.jar"/>
+    </macrodef>
 
-            <zipfileset prefix="tapestry-core" dir="tapestry-core" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-core" dir="tapestry-core/target" includes="*.jar"/>
 
-            <zipfileset prefix="tapestry-hibernate" dir="tapestry-hibernate" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-hibernate" dir="tapestry-hibernate/target" includes="*.jar"/>
+    <target name="-maven-setup" unless="maven-ant-tasks.classpath">
+        <path id="maven-ant-tasks.classpath" path="support/maven-ant-tasks-2.0.8.jar"/>
 
-            <zipfileset prefix="tapestry-ioc" dir="tapestry-ioc" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-ioc" dir="tapestry-ioc/target" includes="*.jar"/>
+        <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
+                 classpathref="maven-ant-tasks.classpath"/>
 
-            <zipfileset prefix="tapestry-spring" dir="tapestry-spring" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-spring" dir="tapestry-spring/target" includes="*.jar"/>
+        <echo>Maven Ant Tasks loaded.</echo>
+    </target>
 
-            <zipfileset prefix="tapestry-test" dir="tapestry-test" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-test" dir="tapestry-test/target" includes="*.jar"/>
 
-            <zipfileset prefix="tapestry-upload" dir="tapestry-upload" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-upload" dir="tapestry-upload/target" includes="*.jar"/>
+    <target name="assemble-bin" depends="-maven-setup">
+        <echo>Building binary distribution</echo>
 
-            <zipfileset prefix="tapestry-tutorial1" dir="tapestry-tutorial1" includes="${licenses}"/>
-            <zipfileset prefix="tapestry-tutorial1" dir="tapestry-tutorial1/target" includes="*.war"/>
+        <mvn:dependencies filesetid="bin.dependency.fileset" sourcesfilesetid="bin.dependency.sources.fileset">
+            <dependency groupid="${group}" artifactid="tapestry-upload" version="${pom.version}"/>
+            <dependency groupid="${group}" artifactid="tapestry-hibernate" version="${pom.version}"/>
+            <dependency groupid="${group}" artifactid="tapestry-spring" version="${pom.version}"/>
+
+            <!-- All else will be dragged in. -->
+        </mvn:dependencies>
+
+        <copyto dir="${binimage.dir}/lib" filesetid="bin.dependency.fileset"/>
+        <copyto dir="${binimage.dir}/lib-src" filesetid="bin.dependency.sources.fileset"/>
+
+        <!-- We don't package tapestry-test because of its huge number of large dependencies. -->
+
+        <copy-licenses module="tapestry-ioc"/>
+        <copy-licenses module="tapestry-core"/>
+        <copy-licenses module="tapestry-hibernate"/>
+        <copy-licenses module="tapestry-spring"/>
+        <copy-licenses module="tapestry-upload"/>
 
-        </zip>
+        <mkdir dir="${dists.dir}"/>
 
-        <!-- Build the other formats from the .zip -->
+        <parallel>
+            <zip destfile="${bin.zip}">
+                <fileset dir="${binimage.dir}"/>
+            </zip>
+            <tar destfile="${dists.dir}/tapestry-bin-${version}.tar.gz" compression="gzip">
+                <fileset dir="${binimage.dir}"/>
+            </tar>
+
+            <tar destfile="${dists.dir}/tapestry-bin-${version}.tar.bz2" compression="bzip2">
+                <fileset dir="${binimage.dir}"/>
+            </tar>
 
-        <tar destfile="${dists.dir}/tapestry-bin-${version}.tar.gz" compression="gzip">
-            <zipfileset src="${bin.zip}"/>
-        </tar>
+        </parallel>
 
-        <tar destfile="${dists.dir}/tapestry-bin-${version}.tar.bz2" compression="bzip2">
-            <zipfileset src="${bin.zip}"/>
-        </tar>
+    </target>
 
-        <echo>Building source distribution</echo>
+    <target name="-announce">
+        <echo>*** Building distribution for project version ${version} ***</echo>
+    </target>
 
-        <!-- Now on to the source files. -->
+    <target name="assemble-src">
 
         <zip destfile="${src.zip}">
             <fileset dir="." includes="${licenses}"/>
@@ -123,6 +153,18 @@
         <checksum fileext=".md5">
             <fileset dir="${dists.dir}" includes="*.bz2,*.gz,*.zip"/>
         </checksum>
+    </target>
+
+    <!-- This has to be kept synchronized with the modules, as they change. We include just the "runtime" modules,
+  no the ones used only within a Maven build; if the user is using Maven, they know how to (let Maven) get
+  the code. -->
+
+    <target name="assemble" description="Build distribution files." depends="-announce,assemble-bin,assemble-src">
+
+        <echo>Building source distribution</echo>
+
+        <!-- Now on to the source files. -->
+
 
         <echo>*** Please sign the distributions using GPG before uploading the files. ***
 
@@ -139,6 +181,7 @@
 
     <target name="clean" description="Remove distribution directory.">
         <delete dir="${dists.dir}" quiet="true"/>
+        <delete dir="${binimage.dir}" quiet="true"/>
     </target>
 
     <target name="generate" description="Generate and deploy the build.">

Added: tapestry/tapestry5/trunk/support/maven-ant-tasks-2.0.8.jar
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/support/maven-ant-tasks-2.0.8.jar?rev=635362&view=auto
==============================================================================
Binary file - no diff available.

Propchange: tapestry/tapestry5/trunk/support/maven-ant-tasks-2.0.8.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/LICENSE.txt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/LICENSE.txt?rev=635362&r1=635361&r2=635362&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/LICENSE.txt (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/LICENSE.txt Sun Mar  9 14:26:59 2008
@@ -201,6 +201,8 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 
+
+-------------------------------------------------------------------------------
    
 HIBERNATE