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 2010/08/18 01:54:08 UTC

svn commit: r986530 - /tapestry/tapestry5/trunk/build.xml

Author: hlship
Date: Tue Aug 17 23:54:08 2010
New Revision: 986530

URL: http://svn.apache.org/viewvc?rev=986530&view=rev
Log:
TAP5-1229: Tapestry binary/source distributions do not include all modules
TAP5-752: Tapestry bin download includes lots of libraries that shouldn't be there due to licensing concerns

Modified:
    tapestry/tapestry5/trunk/build.xml

Modified: tapestry/tapestry5/trunk/build.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/build.xml?rev=986530&r1=986529&r2=986530&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/build.xml (original)
+++ tapestry/tapestry5/trunk/build.xml Tue Aug 17 23:54:08 2010
@@ -75,44 +75,52 @@
         <echo>Maven Ant Tasks loaded.</echo>
     </target>
 
+    <target name="populate-image" depends="-maven-setup">
+      <echo>Processing dependencies</echo>
 
-    <target name="assemble-bin" depends="-maven-setup">
-        <echo>Building binary distribution</echo>
+      <mvn:dependencies filesetid="bin.dependency.fileset" sourcesfilesetid="bin.dependency.sources.fileset">
+	<dependency groupid="${group}" artifactid="tapestry-jmx" version="${pom.version}"/>
+	<dependency groupid="${group}" artifactid="tapestry-beanvalidator" version="${pom.version}"/>
+	<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}"/>
+	<dependency groupid="${group}" artifactid="tapestry-test" version="${pom.version}"/>
+      </mvn:dependencies>
+
+      <copyto dir="${binimage.dir}/lib" filesetid="bin.dependency.fileset"/>
+      <copyto dir="${binimage.dir}/lib-src" filesetid="bin.dependency.sources.fileset"/>
+      
+      <!-- Now delete the excess. -->
+
+      <delete>
+	<fileset dir="${binimage.dir}">
+	  <exclude name="**/commons-codec-*"/>
+	  <exclude name="**/commons-fileupload-*"/>
+	  <exclude name="**/commons-io-*"/>
+	  <exclude name="**/log4j-*"/>
+	  <exclude name="**/slf4j-*"/>
+	  <exclude name="**/tapestry-*"/>
+	  <exclude name="**/tapestry5-*"/>
+	  <exclude name="**/javassist-*"/>
+	  <exclude name="**/antlr*"/>
+	</fileset>
+      </delete>
+
+
+      <copy-licenses module="tapestry-ioc"/>
+      <copy-licenses module="tapestry-core"/>
+      <copy-licenses module="tapestry-hibernate"/>
+      <copy-licenses module="tapestry-hibernate-core"/>
+      <copy-licenses module="tapestry-spring"/>
+      <copy-licenses module="tapestry-upload"/>
+      <copy-licenses module="tapestry-test"/>
+      <copy-licenses module="tapestry-func"/>
+      <copy-licenses module="tapestry-jmx"/>
+      <copy-licenses module="tapestry-beanvalidator"/>
 
-        <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}">
-                <exclusion groupid="org.hibernate" artifactid="hibernate-core"/>
-                <exclusion groupid="org.hibernate" artifactid="hibernate-annotations"/>
-                <exclusion groupid="geronimo-spec" artifactid="geronimo-spec-jta"/>
-                <exclusion groupid="c3p0" artifactid="c3p0"/>
-            </dependency>
-            <dependency groupid="${group}" artifactid="tapestry-spring" version="${pom.version}"/>
-
-            <!-- tapestry-test is also tricky, we want it without its (non-Apache) dependencies. -->
-
-            <dependency groupid="${group}" artifactid="tapestry-test" version="${pom.version}">
-                <exclusion groupid="org.openqa.selenium.client-drivers" artifactid="selenium-java-client-driver"/>
-                <exclusion groupid="org.openqa.selenium.server" artifactid="selenium-server"/>
-                <exclusion groupid="org.openqa.selenium.server" artifactid="selenium-server-coreless"/>
-                <exclusion groupid="org.testng" artifactid="testng"/>
-            </dependency>
-
-            <!-- 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-hibernate-core"/>
-        <copy-licenses module="tapestry-spring"/>
-        <copy-licenses module="tapestry-upload"/>
+    </target>
 
+    <target name="assemble-bin" depends="populate-image">
         <mkdir dir="${dists.dir}"/>
 
         <parallel>
@@ -154,6 +162,9 @@
             <zipfileset prefix="tapestry-component-report" dir="tapestry-component-report" includes="${sources}"/>
             <zipfileset prefix="tapestry-tutorial1" dir="tapestry-tutorial1" includes="${sources}"/>
 
+            <zipfileset prefix="tapestry-beanvalidator" dir="tapestry-beanvalidator" includes="${sources}"/>
+            <zipfileset prefix="tapestry-jmx" dir="tapestry-jmx" includes="${sources}"/>
+            <zipfileset prefix="tapestry-func" dir="tapestry-func" includes="${sources}"/>
         </zip>
 
         <tar destfile="${dists.dir}/tapestry-src-${version}.tar.gz" compression="gzip" longfile="gnu">
@@ -171,17 +182,8 @@
         </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. ***