[jboss-cvs] JBossAS SVN: r74361 - trunk/build.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 10 17:29:19 EDT 2008


Author: pgier
Date: 2008-06-10 17:29:19 -0400 (Tue, 10 Jun 2008)
New Revision: 74361

Modified:
   trunk/build/build.xml
Log:
[JBAS-4355] jbossall-client.jar should only contain a manifest that points to client jars.

Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml	2008-06-10 21:18:41 UTC (rev 74360)
+++ trunk/build/build.xml	2008-06-10 21:29:19 UTC (rev 74361)
@@ -767,104 +767,102 @@
 
   </target>
 
-  <target name="bypass-jboss-all-client" depends="init">
+  <target name="jboss-all-client" depends="init"
+      description="Create jar containing client classpath">
 
-   <uptodate property="bypass-jboss-all-client.on" targetfile="${install.client}/jbossall-client.jar">
-      <srcfiles dir="${install.client}">
-        <include name="*-client.jar"/>
-        <include name="asm.jar"/>
-        <include name="cglib-2.1.1.jar"/>
-        <include name="commons-logging.jar"/>
-        <include name="concurrent.jar"/>
-        <include name="ejb3-persistence.jar"/>
-        <include name="hibernate-annotations.jar"/>
-        <include name="jboss-auth.jar"/>
-        <include name="jboss-annotations-ejb3.jar"/>
-        <include name="jboss-appclient.jar"/>
-        <include name="jboss-common*.jar"/>
-        <include name="jboss-ejb3-ext-api.jar"/>
-        <include name="jboss-logging*.jar"/>
-        <include name="slf4j-api.jar"/>
-        <include name="slf4j-jboss-logging.jar"/>
-        <include name="jboss-deployment.jar"/>
-        <include name="jboss-javaee.jar"/>
-        <include name="jboss-integration.jar"/>
-        <include name="jboss-j2se.jar"/>
-        <include name="jboss-remoting.jar"/>
-        <include name="jboss-security-spi.jar"/>
-        <include name="jboss-serialization.jar"/>
-        <include name="jbossmqha.jar"/>
-        <include name="jmx-connector-client-factory.jar"/>
-        <include name="namespace.jar"/>
-        <include name="xmlsec.jar"/>
-        <include name="jboss-messaging.jar"/>
-        <include name="jboss-mdr.jar"/>
-        <include name="jboss-deployers-core.jar"/>
-        <include name="jboss-deployers-core-spi.jar"/>
-        <include name="jboss-deployers-client.jar"/>
-        <include name="jboss-deployers-client-spi.jar"/>
-        <!-- client excludes -->
-        <exclude name="jbossws-client.jar"/>
-      </srcfiles>
-   </uptodate>
+    <!--Create a jbossall-client.jar containing the classpath for everything a client app needs-->  
+      
+    <property name="client.jar.dir" location="${install.client}" />
+    <property name="jbossall.client.filename" value="jbossall-client.jar"/>
+    
+    <fileset id="client.jar.fileset" dir="${client.jar.dir}">
+      <include name="*-client.jar"/>
+      <include name="asm.jar"/>
+      <include name="cglib-2.1.1.jar"/>
+      <include name="commons-logging.jar"/>
+      <include name="concurrent.jar"/>
+      <include name="ejb3-persistence.jar"/>
+      <include name="hibernate-annotations.jar"/>
+      <include name="jboss-annotations-ejb3.jar"/>
+      <include name="jboss-auth.jar"/>
+      <include name="jboss-appclient.jar"/>
+      <include name="jboss-common*.jar"/>
+      <include name="jboss-ejb3-ext-api.jar"/>
+      <include name="jboss-logging*.jar"/>
+      <include name="slf4j-api.jar"/>
+      <include name="slf4j-jboss-logging.jar"/>
+      <include name="jboss-deployment.jar"/>
+      <include name="jboss-javaee.jar"/>
+      <include name="jboss-integration.jar"/>
+      <include name="jboss-j2se.jar"/>
+      <include name="jboss-remoting.jar"/>
+      <include name="jboss-security-spi.jar"/>
+      <include name="jboss-serialization.jar"/>
+      <!-- Do not include, otherwise jbossws cannot be a drop in replacement.
+      <include name="jboss-xml-binding.jar"/> 
+      <include name="jboss-jaxrpc.jar"/> 
+      <include name="jboss-jaxws.jar"/> 
+      <include name="jboss-saaj.jar"/> 
+      <include name="wsdl4j.jar"/>
+      -->
+      <include name="jbossmqha.jar"/>
+      <include name="jmx-connector-client-factory.jar"/>
+      <include name="namespace.jar"/>
+      <include name="xmlsec.jar"/>
+      <include name="jboss-messaging.jar"/>
+      <include name="jboss-mdr.jar"/>
+      <include name="jboss-deployers-core.jar"/>
+      <include name="jboss-deployers-core-spi.jar"/>
+      <include name="jboss-deployers-client.jar"/>
+      <include name="jboss-deployers-client-spi.jar"/>
+      <!-- client excludes -->
+      <exclude name="jbossws-client.jar"/>
+      <exclude name="${jbossall.client.filename}"/>
+    </fileset>    
+    
+    <path id="client.jar.classpath"> 
+      <fileset refid="client.jar.fileset" /> 
+    </path>
+     
+    <pathconvert property="client.jar.manifest.classpath" refid="client.jar.classpath"
+                 pathsep=" " dirsep="/">
+      <map from="${client.jar.dir}/" to="" />
+    </pathconvert>
+    
+    <pathconvert property="client.jar.files" refid="client.jar.classpath" 
+                 pathsep="${line.separator}"  dirsep="/">
+      <map from="${client.jar.dir}/" to="" />
+    </pathconvert>
+    
+    <mkdir dir="${module.output}/temp"/>
+    <echo file="${module.output}/temp/readme.txt">
+This jar file contains a classpath reference to various client jar files used by jboss client applications.
+Each of the jar files in the following list must available in the same directory as the jbossall-client.jar,  Otherwise they will not be found by the classloader.
 
-  </target>
+The classpath includes the following files:
 
-  <target name="jboss-all-client"
-          depends="bypass-jboss-all-client"
-          unless="bypass-jboss-all-client.on">
+${client.jar.files}
+    </echo>
+    
+    <jar destfile="${install.client}/${jbossall.client.filename}" basedir="${module.output}/temp">
+      <manifest>
+        <section name="Specification and Implementation">
+          <attribute name="Specification-Title" value="${specification.title}"/>
+          <attribute name="Specification-Version" value="${specification.version}"/>
+          <attribute name="Specification-Vendor" value="${specification.vendor}"/>
+          <attribute name="Implementation-Title" value="${implementation.title}"/>
+          <attribute name="Implementation-Version" value="${implementation.version}"/>
+          <attribute name="Implementation-Vendor" value="${implementation.vendor}"/>
+          <attribute name="Implementation-Vendor-Id" value="${implementation.vendor.id}"/>
+        </section>
+        <section name="Classpath Entries">
+          <attribute name="Class-Path" value="${client.jar.manifest.classpath}"/>
+        </section>
 
-    <!--Create a jbossall-client.jar containing everything a client app needs-->
-    <mkdir dir="build"/>
-    <delete file="${install.client}/jbossall-client.jar"/>
-    <unjar dest="build">
-      <fileset dir="${install.client}">
-        <include name="*-client.jar"/>
-        <include name="asm.jar"/>
-        <include name="cglib-2.1.1.jar"/>
-        <include name="commons-logging.jar"/>
-        <include name="concurrent.jar"/>
-        <include name="ejb3-persistence.jar"/>
-        <include name="hibernate-annotations.jar"/>
-        <include name="jboss-annotations-ejb3.jar"/>
-        <include name="jboss-auth.jar"/>
-        <include name="jboss-appclient.jar"/>
-        <include name="jboss-common*.jar"/>
-        <include name="jboss-ejb3-ext-api.jar"/>
-        <include name="jboss-logging*.jar"/>
-        <include name="slf4j-api.jar"/>
-        <include name="slf4j-jboss-logging.jar"/>
-        <include name="jboss-deployment.jar"/>
-        <include name="jboss-javaee.jar"/>
-        <include name="jboss-integration.jar"/>
-        <include name="jboss-j2se.jar"/>
-        <include name="jboss-remoting.jar"/>
-        <include name="jboss-security-spi.jar"/>
-        <include name="jboss-serialization.jar"/>
-        <!-- Do not include, otherwise jbossws cannot be a drop in replacement.
-        <include name="jboss-xml-binding.jar"/> 
-        <include name="jboss-jaxrpc.jar"/> 
-        <include name="jboss-jaxws.jar"/> 
-        <include name="jboss-saaj.jar"/> 
-        <include name="wsdl4j.jar"/>
-        -->
-        <include name="jbossmqha.jar"/>
-        <include name="jmx-connector-client-factory.jar"/>
-        <include name="namespace.jar"/>
-        <include name="xmlsec.jar"/>
-        <include name="jboss-messaging.jar"/>
-        <include name="jboss-mdr.jar"/>
-        <include name="jboss-deployers-core.jar"/>
-        <include name="jboss-deployers-core-spi.jar"/>
-        <include name="jboss-deployers-client.jar"/>
-        <include name="jboss-deployers-client-spi.jar"/>
-        <!-- client excludes -->
-        <exclude name="jbossws-client.jar"/>
-      </fileset>
-    </unjar>
-    <jar destfile="${install.client}/jbossall-client.jar" basedir="build" />
+      </manifest>
+    </jar>
 
-    <delete dir="build" />
+    <delete dir="${module.output}/temp" />
 
   </target>
 




More information about the jboss-cvs-commits mailing list