From fc91e5112c07b70ffdd4a4000803020d35e52f55 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 23 Mar 2010 14:55:18 +0000
Subject: [PATCH] LMS-1445 ant tasks 'client-jar' and ',aje-client-jar'

SVN: 15236
---
 openbis/build/build.xml | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/openbis/build/build.xml b/openbis/build/build.xml
index 0f45f9f63be..d75a09cc23a 100644
--- a/openbis/build/build.xml
+++ b/openbis/build/build.xml
@@ -148,6 +148,11 @@
 		</loadfile>
 		<echo file="${server.dist}/tomcat-version.txt">${tomcat.version}</echo>
 		<copy file="${original.openbis.server.dist}/server.xml" todir="${server.dist}" />
+		<copy todir="${server.dist}" >
+			<fileset dir="${dist}">
+				<include name="*client.jar"/>
+			</fileset>
+		</copy>
 		<copy file="${original.server.dist}/service.properties" todir="${server.dist}" />
 		<copy file="${original.server.dist}/openbis.conf" todir="${server.dist}" />
 		<copy file="${original.openbis.server.dist}/openBIS.keystore" todir="${server.dist}" />
@@ -388,11 +393,41 @@
 			         includes="ch/systemsx/cisd/openbis/BuildAndEnvironmentInfo.class" />
 		</jar>
 	</target>
+	
+	<target name="client-jar"  
+					description="Extracts from jar file only those classes need by a remote client">
+		<antcall target="make-client-jar">
+			<param name="variant" value="" />
+		</antcall>
+	</target>
+	
+	<target name="make-client-jar" depends="jar" 
+					description="Extracts from jar file only those classes need by a remote client">
+		<jar destfile="${dist}/openbis${variant}-client.jar">
+			<zipfileset src="${jar.file}">
+				<include name="ch/systemsx/cisd/common/spring/HttpInvokerUtils.class"/>
+				<include name="ch/systemsx/cisd/common/exceptions/*.class"/>
+				<include name="**/shared/I*.class"/>
+				<include name="**/shared/basic/dto/*.class"/>
+				<include name="**/shared/basic/*.class"/>
+				<include name="**/shared/dto/*.class"/>
+				<exclude name="**/shared/dto/*PE.class"/>
+				<include name="**/shared/authorization/annotation/*.class"/>
+				<include name="**/shared/authorization/ISessionProvider.class"/>
+				<include name="**/BuildAndEnvironmentInfo.class"/>
+				<include name="${build.info.filename}" />
+			</zipfileset>
+			<zipfileset src="${lib}/gwt2.0/gwt-user.jar">
+				<include name="com/google/gwt/user/client/rpc/IsSerializable.class"/>
+				<include name="com/google/gwt/user/client/rpc/SerializableException.class"/>
+			</zipfileset>
+		</jar>
+	</target>
 
 	<!--
       // Creates WAR file.
       -->
-	<target name="war" depends="jar, compile-javascript" description="Creates project war file.">
+	<target name="war" depends="client-jar, compile-javascript" description="Creates project war file.">
 		<mkdir dir="${webapp.dist.web-inf}" />
 		<copy todir="${webapp.dist.web-inf}">
 			<fileset dir="${application.server.resource}">
-- 
GitLab