| <project basedir="." default="generate.service"> | |
| <property environment="env"/> | |
| <property name="wsdl.uri" value="StockQuoteService.wsdl"/> | |
| <property name="service.target" value="build/service"/> | |
| <property name="client.target" value="build/client"/> | |
| <path id="axis2.classpath"> | |
| <fileset dir="../../lib"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| <fileset dir="lib"> | |
| <include name="*.jar"/> | |
| </fileset> | |
| </path> | |
| <macrodef name="CastorSourceGenerator"> | |
| <attribute name="schema" default="NOT SET"/> | |
| <attribute name="package" default="NOT SET"/> | |
| <attribute name="output" default="NOT SET"/> | |
| <sequential> | |
| <echo/> | |
| <java classname="org.exolab.castor.builder.SourceGeneratorMain" fork="true"> | |
| <classpath refid="axis2.classpath"/> | |
| <arg line="-i @{schema} -package @{package} -dest @{output}" /> | |
| </java> | |
| </sequential> | |
| </macrodef> | |
| <!-- Build the service, then the client. --> | |
| <target name="jar"> | |
| <ant dir="service" target="jar.server"/> | |
| <ant dir="client"/> | |
| </target> | |
| <target name="run.client" depends="generate.stub"> | |
| <condition property="params.ok"> | |
| <and> | |
| <isset property="url"/> | |
| <isset property="symbol"/> | |
| </and> | |
| </condition> | |
| <fail message="One of the parameters are not set. Usage: StockClient -Durl=<url> -Dsymbol=<symbol>" | |
| unless="params.ok"/> | |
| <java classname="samples.databinding.StockClient" fork="true"> | |
| <arg line="${url} ${symbol}"/> | |
| <classpath> | |
| <pathelement location="${client.target}/StockService-test-client.jar"/> | |
| <path refid="axis2.classpath"/> | |
| </classpath> | |
| </java> | |
| </target> | |
| <target name="generate.all" depends="generate.service,generate.stub"/> | |
| <target name="generate.service"> | |
| <delete dir="${service.target}"/> | |
| <mkdir dir="${service.target}"/> | |
| <mkdir dir="${service.target}/classes"/> | |
| <CastorSourceGenerator output="${service.target}/src" | |
| package="samples.databinding.data" | |
| schema="StockQuote.xsd"/> | |
| <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true" classpathref="axis2.classpath"> | |
| <arg line="-uri ${wsdl.uri}"/> | |
| <arg line="-ss"/> | |
| <arg line="-sd"/> | |
| <arg line="-p samples.databinding"/> | |
| <arg line="-d none"/> | |
| <arg line="-o ${service.target}"/> | |
| </java> | |
| <!--copy the already written skeleton class--> | |
| <copy todir="${service.target}/src/" | |
| overwrite="yes"> | |
| <fileset dir="service/src"> | |
| <include name="**/*.java"/> | |
| </fileset> | |
| </copy> | |
| <!--First let's compile the classes--> | |
| <javac debug="on" memoryMaximumSize="256m" memoryInitialSize="256m" fork="true" | |
| destdir="${service.target}/classes" srcdir="${service.target}/src" | |
| classpathref="axis2.classpath"> | |
| </javac> | |
| <!--aar them up --> | |
| <copy toDir="${service.target}/classes/META-INF" failonerror="false"> | |
| <fileset dir="${service.target}/resources"> | |
| <include name="*.xml"/> | |
| <include name="*.wsdl"/> | |
| <include name="*.xsd"/> | |
| </fileset> | |
| </copy> | |
| <jar destfile="${service.target}/StockService.aar"> | |
| <fileset excludes="**/Test.class" dir="${service.target}/classes"/> | |
| <fileset dir="${basedir}"> | |
| <include name="lib/*.jar"/> | |
| </fileset> | |
| </jar> | |
| <copy file="${service.target}/StockService.aar" tofile="../../repository/services/StockService.aar" | |
| overwrite="true"/> | |
| </target> | |
| <target name="generate.stub" unless="skip.generate"> | |
| <delete dir="${client.target}"/> | |
| <mkdir dir="${client.target}"/> | |
| <mkdir dir="${client.target}/classes"/> | |
| <CastorSourceGenerator output="${client.target}/src" | |
| package="samples.databinding.data" | |
| schema="StockQuote.xsd"/> | |
| <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true" classpathref="axis2.classpath"> | |
| <arg line="-uri ${wsdl.uri}"/> | |
| <arg line="-u"/> | |
| <arg line="-p samples.databinding"/> | |
| <arg line="-d none"/> | |
| <arg line="-t"/> | |
| <arg line="-o ${client.target}"/> | |
| </java> | |
| <copy todir="${client.target}/src/" | |
| overwrite="yes"> | |
| <fileset dir="client/src"> | |
| <include name="**/*.java"/> | |
| </fileset> | |
| </copy> | |
| <!--now compile the stub classes--> | |
| <javac debug="on" memoryMaximumSize="256m" memoryInitialSize="256m" fork="true" | |
| srcdir="${client.target}/src" | |
| excludes="**/StockClient2*.*" | |
| destdir="${client.target}/classes" | |
| classpathref="axis2.classpath"> | |
| </javac> | |
| <!--jar the compiled stuff--> | |
| <jar destfile="${client.target}/StockService-test-client.jar"> | |
| <fileset dir="${client.target}/classes"> | |
| <exclude name="**/META-INF/*.*"/> | |
| <exclude name="**/*MessageReceiver.class"/> | |
| <exclude name="**/*Skeleton.class"/> | |
| </fileset> | |
| </jar> | |
| </target> | |
| <!--We are not shipping castor and stax-utils jars with the release. This target can be used to | |
| download those jars that are required to run this sample.--> | |
| <target name="download.jars"> | |
| <mkdir dir="lib"/> | |
| <get src="http://ws.zones.apache.org/repository/stax-utils/jars/stax-utils-20060915.jar" | |
| dest="lib/stax-utils-20060915.jar" verbose="true"/> | |
| <get src="http://dist.codehaus.org/castor/1.0.4/castor-1.0.4.jar" dest="lib/castor-1.0.4.jar" | |
| verbose="true"/> | |
| </target> | |
| <target name="clean"> | |
| <delete dir="build"/> | |
| </target> | |
| </project> |