source: TI01-discovery/branches/ws-Discovery2-MSI/discoveryUpgrade/srcgen/buildDiscovery.xml @ 5461

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI01-discovery/branches/ws-Discovery2-MSI/discoveryUpgrade/srcgen/buildDiscovery.xml@5461
Revision 5461, 12.8 KB checked in by sdonegan, 10 years ago (diff)

Added log4j.xml to ant buildfile so get properly configured logging

Line 
1<project basedir="." default="jar.all">
2        <!--Auto generated ant build file-->
3        <property environment="env"/>
4        <property name="axis2.home" value="${env.AXIS2_HOME}"/>
5        <property name="build.base.dir" value="."/>
6        <property name="maven.class.path" value=""/>
7        <property name="name" value="DiscoveryService"/>
8        <property name="src" value="${build.base.dir}/src"/>
9        <property name="docsrc" value="../docs"/>
10        <property name="test" value="${build.base.dir}/test"/>
11        <property name="build" value="${build.base.dir}/build"/>
12        <property name="jar.server" value="${build}/lib/${name}.aar"/>
13        <property name="build.src" value="${build}/src"/>
14        <property name="build.src.common" value="${build}/src/common"/>
15        <property name="build.classes" value="${build}/classes"/>
16        <property name="lib" value="${build}/lib"/>
17        <property name="resources" value="${build.base.dir}/resources"/>
18        <property name="xbeans.packaged.jar.name" value="XBeans-packaged.jar"/>
19        <property name="jars.ok" value=""/>
20        <property name="src.nongen" value="../src"/>
21        <property name="src.common" value="../src/ndg/common"/>
22        <property name="src.nongen.server" value="../src/ndg/services"/>
23        <property name="src.nongen.client" value="../src/ndg/testclient"/>
24        <property name="res.nongen" value="../resources"/>
25        <property name="stubfile" value="${src}/ndg/clients/discovery/DiscoveryServiceStub.java"/>
26        <property name="skeletonfile" value="${src}/ndg/services/discovery/DiscoveryServiceSkeleton.java"/>
27        <property name="tomcat.deploy.dir" value="${env.CATALINA_HOME}/webapps/axis2/WEB-INF/services/"/>
28       
29        <path id="axis2.class.path">
30                <pathelement path="${java.class.path}"/>
31                <pathelement path="${maven.class.path}"/>
32                <fileset dir="${axis2.home}">
33                        <include name="lib/*.jar"/>
34                </fileset>
35                <fileset dir="${resources}">
36                        <include name="*.jar"/>
37                </fileset>
38        </path>
39       
40        <target name="clean">
41                <delete dir="${build}"/>
42                <delete dir="${resources}"/>
43                <delete dir="${test}"/>
44                <delete dir="${src}"/>
45        </target>
46        <target name="init" depends="clean">
47                <mkdir dir="${build}"/>
48                <mkdir dir="${build.classes}"/>
49                <mkdir dir="${build.src}"/>
50                <mkdir dir="${build.src.common}"/>
51                <mkdir dir="${lib}"/>
52                <mkdir dir="${test}"/>
53                <mkdir dir="${resources}"/>
54        </target>
55       
56        <target name="wsdl2java.client" depends="init">
57                <echo message="Generating client side stubs from WSDL"/>
58        <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
59                        <classpath refid="axis2.class.path"/> 
60                    <arg value="-d"/>
61                    <arg value="xmlbeans"/>
62                    <arg value="-uri"/>
63                    <arg file="${build.base.dir}/../wsdl/Discovery.wsdl"/>
64            <arg value="-o"/>
65                    <arg file="${build.base.dir}"/>
66                    <arg value="-p"/>
67                    <arg value="ndg.clients.discovery"/>
68                </java>
69        </target>       
70       
71        <target name="wsdl2java.server" depends="init">
72                <echo message="Generating server side stubs from WSDL"/>
73        <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
74                        <classpath refid="axis2.class.path"/> 
75                    <arg value="-d"/>
76                    <arg value="xmlbeans"/>
77                    <arg value="-uri"/>
78                    <arg file="${build.base.dir}/../wsdl/Discovery.wsdl"/>
79                    <arg value="-ss"/>
80                    <arg value="-sd"/>
81            <arg value="-o"/>
82                    <arg file="${build.base.dir}"/>
83                    <arg value="-p"/>
84                    <arg value="ndg.services.discovery"/>
85                </java>
86                <echo message="Deleting autogenerated skeleton file, ${skeletonfile}"/>
87                <echo message="- this is superceded by user defined file"/>
88                <delete file="${skeletonfile}"/>
89        </target>       
90
91        <target name="generatestubs" depends="wsdl2java.server, wsdl2java.client, jar.xbeans" />
92
93        <target name="jar.xbeans">
94                <jar basedir="${resources}" destfile="${lib}/${xbeans.packaged.jar.name}" excludes="**/services.xml, **/*.xsd"/>
95        </target>
96       
97        <target name="pre.compile.test" depends="init, jar.xbeans">
98                <!--Test the classpath for the availability of necesary classes-->
99                <available classname="org.apache.xmlbeans.XmlObject" property="xbeans.available" classpathref="axis2.class.path"/>
100                <available classname="javax.xml.stream.XMLStreamReader" property="stax.available" classpathref="axis2.class.path"/>
101                <available classname="org.apache.axis2.engine.AxisEngine" property="axis2.available" classpathref="axis2.class.path"/>
102                <condition property="jars.ok">
103                        <and>
104                                <isset property="xbeans.available"/>
105                                <isset property="stax.available"/>
106                                <isset property="axis2.available"/>
107                        </and>
108                </condition>
109                <!--Print out the availabilities-->
110                <echo message="XmlBeans Availability = ${xbeans.available}"/>
111                <echo message="Stax Availability= ${stax.available}"/>
112                <echo message="Axis2 Availability= ${axis2.available}"/>
113        </target>
114       
115        <target name="compile.src.server" depends="wsdl2java.server,pre.compile.test,copygen,copynongen.server,compile.src"/>
116        <target name="compile.src.client" depends="wsdl2java.client,fixchunking,pre.compile.test,copygen,copynongen.client,compile.src"/>
117        <target name="compile.src" depends="compile.common" if="jars.ok">
118                <javac debug="on" destdir="${build.classes}" srcdir="${build.src}">
119                        <classpath location="${lib}/${xbeans.packaged.jar.name}"/>
120                        <classpath refid="axis2.class.path"/>
121                </javac>
122                <delete dir="${build.src}"/>
123        </target>
124        <target name="compile.common" depends="" if="jars.ok">
125                <javac debug="on" destdir="${build.classes}" srcdir="${build.src.common}" >
126                        <classpath location="${lib}/${xbeans.packaged.jar.name}"/>
127                        <classpath refid="axis2.class.path"/>
128                </javac>
129                <delete dir="${build.src.common}"/>
130        </target>
131        <target name="compile.test" depends="compile.src.client" if="jars.ok">
132                <javac debug="on" destdir="${build.classes}">
133                        <src path="${test}"/>
134                        <classpath location="${lib}/${xbeans.packaged.jar.name}"/>
135                        <classpath refid="axis2.class.path"/>
136                </javac>
137        </target>
138        <target name="echo.classpath.problem" depends="pre.compile.test" unless="jars.ok">
139                <echo message="The class path is not set right!                                Please make sure the following classes are in the classpath                                1. XmlBeans                                2. Stax                                3. Axis2                 "/>
140        </target>
141        <target name="jar.all" depends="jar.server"/>
142        <target name="jar.server" depends="compile.src.server,echo.classpath.problem" if="jars.ok">
143                <copy toDir="${build.classes}/META-INF">
144                        <fileset dir="${resources}">
145                                <include name="*.xml"/>
146                                <include name="*.wsdl"/>
147                                <include name="*.xsd"/>
148                                <include name="**.config"/>
149                                <exclude name="**/schemaorg_apache_xmlbean/**"/>
150                        </fileset>
151                </copy>
152                <copy file="${lib}/${xbeans.packaged.jar.name}" toDir="${build.classes}/lib"/>
153                <copy toDir="${build.classes}/lib">
154                        <fileset dir="${resources}">
155                                <include name="*.jar"/>
156                        </fileset>
157                </copy>
158                <jar destfile="${lib}/${name}.aar">
159                        <fileset excludes="**/Test.class" dir="${build.classes}"/>
160                </jar>
161        </target>
162        <target name="jar.client" if="jars.ok" depends="compile.test">
163                <jar destfile="${lib}/${name}-test-client.jar">
164                        <fileset dir="${build.classes}">
165                                <exclude name="**/META-INF/*.*"/>
166                                <exclude name="**/lib/*.*"/>
167                                <exclude name="**/*MessageReceiver.class"/>
168                                <exclude name="**/*Skeleton.class"/>
169                        </fileset>
170                        <fileset dir="${resources}">
171                                <exclude name="**/*.wsdl"/>
172                                <exclude name="**/*.xsd"/>
173                                <exclude name="**/*.xml"/>
174                                <exclude name="*.config"/>
175                        </fileset>
176                </jar>
177        </target>
178        <target depends="jar.server" name="make.repo" if="jars.ok">
179                <mkdir dir="${build}/repo/"/>
180                <mkdir dir="${build}/repo/services"/>
181                <copy file="${jar.server}" toDir="${build}/repo/services/"/>
182        </target>
183        <target depends="make.repo" name="start.server" if="jars.ok">
184                <java classname="org.apache.axis2.transport.http.SimpleHTTPServer" fork="true">
185                        <arg value="${build}/repo"/>
186                        <classpath refid="axis2.class.path"/>
187                </java>
188        </target>
189        <target if="jars.ok" name="run.test" depends="jar.client">
190                <path id="test.class.path">
191                        <pathelement location="${lib}/${name}-test-client.jar"/>
192                        <path refid="axis2.class.path"/>
193                </path>
194                <mkdir dir="${build}/test-reports/"/>
195                <junit printsummary="yes" haltonfailure="yes">
196                        <classpath refid="test.class.path"/>
197                        <formatter type="plain"/>
198                        <batchtest fork="yes" toDir="${build}/test-reports/">
199                                <fileset dir="${test}">
200                                        <include name="**/*Test*.java"/>
201                                </fileset>
202                        </batchtest>
203                </junit>
204        </target>
205        <target name="javadoc" depends="compile.src.server" description="Create Javadoc API documentation">
206                <mkdir dir="${build}/docs/api"/>
207                <mkdir dir="${build}/docs/api/resources"/>
208                <copy toDir="${build}/docs/api/resources" overwrite="true"> 
209                        <fileset dir="${docsrc}/resources">
210                                <include name="**/*.png"/>
211                        </fileset>
212                </copy>
213                <javadoc sourcepath="${build.src}" destdir="${build}/docs/api" packagenames="ndg.services.discovery,discoveryserviceapi" overview="${docsrc}/overview.html"/>
214    </target>
215        <target depends="jar.client" name="run.client" if="jars.ok">
216                <!-- <setproxy proxyHost="wwwcache.rl.ac.uk" proxyPort="8080"/> -->
217                <echo message="JAVA_HOME = ${env.JAVA_HOME}"/>
218                <java classname="ndg.testclient.discovery.DiscoveryServiceClient" fork="true">
219                        <!-- <arg value="${build}/repo"/> -->
220                        <classpath refid="axis2.class.path"/>
221                        <classpath location="${lib}/${name}-test-client.jar"/>
222                        <sysproperty key="verbose" value="true"/>
223                        <arg value="string"/>
224                </java>
225        </target>
226        <target depends="" name="test.client" if="jars.ok">
227                <echo message="JAVA_HOME = ${env.JAVA_HOME}"/>
228                <echo message="CLASSPATH = ${env.CLASSPATH}"/>
229                <java classname="ndg.testclient.discovery.DiscoveryServiceClient" fork="true">
230                        <classpath refid="axis2.class.path"/>
231                        <classpath location="${lib}/${name}-test-client.jar"/>
232                        <arg value="string"/>
233                </java>
234        </target>
235    <target name="copygen">
236                <!-- Copy auto-generated src to source tree -->
237                <!-- NB. Overwrites even if files in toDir are newer -->
238                <copy toDir="${build.src}" overwrite="true"> 
239                        <fileset dir="${src}">
240                                <include name="**/*.java"/>
241                                <include name="**/*.html"/>
242                        </fileset>
243                </copy>
244    </target>
245    <target name="copynongen.server" depends="copy.resource, copy.common">
246                <!-- Copy non-auto-generated src to source tree -->
247                <!-- NB. Overwrites even if files in toDir are newer -->
248                <copy toDir="${build.src}" overwrite="true" verbose="true"> 
249                        <fileset dir="${src.nongen.server}">
250                                <include name="**/*.java"/>
251                                <include name="**/*.html"/>
252                                <exclude name="**/Tst.java"/>
253                        </fileset>
254                </copy>
255   </target>
256       
257        <target name="copy.resource">
258                <copy toDir="${resources}" overwrite="true" verbose="true">
259                        <fileset dir="${res.nongen}">
260                                <!-- <include name="**/*.xq"/> -->
261                                <!-- <include name="**/*.properties"/> -->
262                                <include name="**/log4j.xml"/>
263                                <include name="**/*.jar"/>
264                        </fileset>
265                </copy>
266                <copy toDir="${resources}" overwrite="true" verbose="true">
267                        <fileset dir="${src.nongen.server}/discovery">
268                                <include name="service.config"/>
269                        </fileset>
270                </copy>
271        </target>
272
273        <target name="copy.common">
274                <copy toDir="${build.src.common}" overwrite="true" verbose="true">
275                        <fileset dir="${src.common}">
276                                <include name="**/*.java"/>
277                                <include name="**/*.html"/>
278                        </fileset>
279                </copy>
280        </target>
281
282        <target name="copynongen.client" depends="copy.resource, copy.common">
283                <!-- Copy non-auto-generated src to source tree -->
284                <!-- NB. Overwrites even if files in toDir are newer -->
285                <copy toDir="${build.src}" overwrite="true" verbose="true"> 
286                        <fileset dir="${src.nongen.client}">
287                                <include name="**/*.java"/>
288                                <include name="**/*.html"/>
289                        </fileset>
290                </copy>
291        </target>
292
293        <target name="fixchunking">
294                <echo message="Changing content of ${stubfile} to switch off http tranfer chunking"/> 
295                <replaceregexp file="${stubfile}"
296                        match="_serviceClient \= new org\.apache\.axis2\.client\.ServiceClient\(configurationContext\,\_service\)\;"
297                        replace="_serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);_serviceClient.getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, false);"/>
298   </target>
299       
300        <target name="deploy.server" depends="jar.server">
301                <copy file="${jar.server}" toDir="${tomcat.deploy.dir}" overwrite="true" verbose="true" />
302        </target>
303
304        <target name="reload" depends="deploy.server, tomcat-start" />
305       
306        <target name="tomcat-start" depends="tomcat-stop">
307            <java jar="${env.CATALINA_HOME}/bin/bootstrap.jar" fork="true">
308                <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}"/>
309            </java>
310        </target>
311
312        <target name="tomcat-stop">
313            <java jar="${env.CATALINA_HOME}/bin/bootstrap.jar" fork="true">
314                <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}"/>
315                <arg line="stop"/>
316            </java>
317        </target>
318
319</project>
Note: See TracBrowser for help on using the repository browser.