source: TI01-discovery/branches/ws-Discovery2-MEDIN/discoveryUpgrade/srcgen/buildDiscovery.xml @ 5926

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

made a copy

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