we use this script to extract just what we want and build it.

hope it helps

Dejan Bosanac wrote:
Hi,

in the client application you'll need only activemq-core jar file (and all
its dependencies). I've just made an enhancement request to create
lightweight jar for these purposes (
https://issues.apache.org/activemq/browse/AMQ-1703).


Cheers

--
Nigel Leck
System Architect
ST Software Pty Limited
Level 1, 14 Rodborough Rd
Frenchs Forest NSW 2086
National: 1300 78 73 78
International: +61 2 9975 4648
Fax: +61 2 9975 4652
www.stsoftware.com.au

<?xml version="1.0" encoding="UTF-8"?>

<project name="Applet Build" default="default" >
    <import file="build_app.xml"/>
    <import file="certificates.xml"/>
    <description>Builds the file transfer applet</description>
    <target name="-init" description="Preparation for building an applet.">

        
        <property name="activemq.server.jar" value="${src.dir}/lib/activemq-lite-5.1.0.jar"/>
        
        
        <property name="jms.src.dir" value="${project.dir}/tmp/src/jms"/>
        <property name="jms.classes.dir" value="${project.dir}/tmp/classes/jms"/>
        <property name="jms.jar" value="${src.dir}/lib/jms-1.1.jar"/>
        <property name="logging.jar" value="${src.dir}/lib/commons-logging-api.jar"/>
        <property name="jta.jar" value="${src.dir}/lib/jta.jar"/>
        <property name="management.jar" value="${src.dir}/lib/geronimo-cutdown.jar"/>
        <!--property name="conc.jar" value="${src.dir}/lib/concurrent-1.3.4.jar"/-->
        <property name="log.jar" value="${src.dir}/lib/log4j-1.2.8.jar"/>
        <property name="pool.jar" value="${src.dir}/lib/commons-pool-1.2.jar"/>
        <property name="xalan.jar" value="${src.dir}/lib/xalan.jar"/>
        <property name="spring.jar" value="${src.dir}/lib/spring-2.0.jar"/>
        <property name="geronimo-spec.jar" value="${src.dir}/lib/geronimo-spec-j2ee-jacc-1.0-rc4.jar"/>
        <!--property name="geronimo.jar" value="${src.dir}/lib/geronimo-j2ee-jacc_1.0_spec-1.0.jar"/-->
        <!--property name="clog" value="webapps/ROOT/WEB-INF/classes/com/aspc/remote/util/misc/CLogger"/-->
        <property name="jaas.jar" value="${src.dir}/lib/jaas.jar"/>
        <property name="axis.jar" value="${src.dir}/lib/axis.jar"/>
    </target>

    <target name="-copy-src" description="Preparation for building an JMS" depends="-init">
        <!--<copy todir="${jms.src.dir}/org/apache/activeio">
            <fileset dir="${src.dir}/lib/src/org/activeio"> 
                <include name="**/*.java"/>
            </fileset>
        </copy>
        -->
        <copy todir="${jms.src.dir}/org/apache/activemq">
            <fileset dir="${src.dir}/lib/src/org/apache/activemq">
                <include name="**/*.java"/>
                <exclude name="resources/**"/>
                <exclude name="camel/**"/>
                <exclude name="**/journal/**"/>
                <exclude name="**/rendezvous/**"/>
                <exclude name="**/stomp/**"/>
                <exclude name="**/rapid/**"/>
                <exclude name="**/xbean/**"/>
                <exclude name="**/jdbc/**"/>
                <exclude name="**/spring/**"/>
                <exclude name="**/Jaas**"/>
                <!--exclude name="**/Xalan**"/-->
                <!--exclude name="**/XPath**"/-->
                <exclude name="**/LDAP**"/>
                <!--exclude name="**/jndi/**"/-->
                <!--exclude name="**/advisory/**"/-->
                <!--exclude name="**/store/**"/-->
                <!--exclude name="**/region/**"/-->
                <!--exclude name="**/jmx/**"/-->
                <!--exclude name="**/vm/**"/-->
                <!--exclude name="**/transaction/**"/-->
                <!--exclude name="**/filter/**"/-->

                <!--exclude name="**/broker/**"/-->
                <!--exclude name="**/security/**"/-->
                <exclude name="**/BrokerBroadcaster.java"/>
                <exclude name="**/XStreamFactoryBean.java"/>
                <!--exclude name="**/XalanXPathEvaluator.java"/-->
                <!--exclude name="**/XPathExpression.java"/>
                <exclude name="**/UnaryExpression.java"/>
                <exclude name="**/ComparisonExpression.java"/>
                <exclude name="**/MultiExpressionEvaluator.java"/-->
                
                
                <!--exclude name="**/JmsConnector.java"/-->
                
                <exclude name="**/SimpleAuthenticationPlugin.java"/>
                <exclude name="**/SimpleAuthorizationMap.java"/>
                <exclude name="**/TempDestinationAuthorizationEntry.java"/>
                <exclude name="**/SimpleAuthenticationMap.java"/>
                <exclude name="**/DefaultAuthorizationMap.java"/>
                <exclude name="**/DefaultPersistenceAdapterFactory.java"/>
                <exclude name="**/PersistenceAdapterFactoryBean.java"/>
                <exclude name="**/AuthorizationEntry.java"/>
                <!--exclude name="**/BrokerService.java"/-->
                <!--exclude name="**/XPathExpression.java"/-->
                <!--exclude name="**/UnaryExpression.java"/-->
                
                <!--exclude name="**/ActiveMQDestination.java"/-->
                <!--exclude name="**/AdvisoryConsumer.java"/-->
                
                <!--exclude name="**/BrokerFilter.java"/-->
                <!--exclude name="**/BrokerService.java"/-->
                
            </fileset>
        </copy>
        <copy todir="${jms.src.dir}/org/apache/activeio/">
            <fileset dir="${src.dir}/lib/src/org/apache/activeio/">
                <include name="**/*.java"/>
                <exclude name="**/xnet/**"/>
                
            </fileset>
        </copy>        

        <copy todir="${jms.src.dir}/org/objectweb">
            <fileset dir="${src.dir}/lib/src/org/objectweb">
                <include name="**/*.java"/>
            </fileset>
        </copy>        
        
        <mkdir dir="${jms.src.dir}/org/apache/activemq/selector/" />
        
        <javacc 
            target="${src.dir}/lib/src/org/apache/activemq/selector/SelectorParser.jj" 
            outputdirectory="${jms.src.dir}/org/apache/activemq/selector/"
            javacchome="/home/apps/javacc/"
        />
    </target>

    <target name="import-src" depends="-init">
        <delete dir="${src.dir}/lib/src/org/apache/activemq/" includes="*.java" excludes="Server.java"/>
        <copy todir="${src.dir}/lib/src/org/apache/activemq/">
            <fileset dir="/home/nigel/tmp/apache-activemq-5.1.0/src/activemq-core/src/main/java/org/apache/activemq/">
                <include name="**/*.java"/>
            </fileset>
        </copy>
    </target>
    
    <target name="-build-jms" description="Making an JMS jar." depends="-copy-src">
        <delete failonerror="n" dir="${jms.classes.dir}"/>
        
        <mkdir dir="${jms.classes.dir}"/>
        <javac debug="on"
            deprecation="off"
            destdir="${jms.classes.dir}"
            optimize="off"
            srcdir="${jms.src.dir}"
            classpath="${remote.jar};${jms.jar};${logging.jar};${jta.jar};${spring.jar};${jaas.jar};${management.jar};${conc.jar};${log.jar};${pool.jar};${geronimo-spec.jar};${xalan.jar};${axis.jar}"
            source="1.5"
            target="1.5"
            fork="true"
            memoryMaximumSize="256m">
        </javac>

        <delete failonerror="n" dir="${src.dir}/lib" includes="activemq-*.jar"/>
        
        <jar jarfile="${activemq.server.jar}">
            <fileset dir="${jms.classes.dir}"/>
            <fileset dir="${src.dir}/lib/src/org/apache/activemq/resources/"/>
            
            
            <manifest>
            <attribute name="Main-Class" value="org.apache.activemq.Server"></attribute>
            </manifest>
        </jar>
        
    </target>

    <target name="make-dirs" depends="-init">

        <mkdir dir="${jms.classes.dir}"/>
        <mkdir dir="${jms.src.dir}"/>
        <mkdir dir="${project.dir}/release"/>
    </target>

    <target name="build-clean" description="creates an JMS jar" depends="clean,build"/>
    <target name="build" description="creates an applet jar" depends="make-dirs,-build-jms"/>

    <target name="clean" description="cleans the temporary directory created" depends="-init">
        <!--delete dir="${project.dir}/release"/-->
        <delete dir="${jms.classes.dir}"/>
        <delete dir="${jms.src.dir}"/>        
    </target>
    
</project>

Reply via email to