source: TI01-discovery/trunk/ws-Discovery2/srcgen/buildDiscovery.xml @ 1548

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI01-discovery/trunk/ws-Discovery2/srcgen/buildDiscovery.xml@1548
Revision 1548, 6.3 KB checked in by mpritcha, 14 years ago (diff)

Initial import of refactored Discovery service.

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="project.base.dir" value="."/>
6        <property name="maven.class.path" value=""/>
7        <property name="name" value="DiscoveryService"/>
8        <property name="src" value="${project.base.dir}/src"/>
9        <property name="test" value="${project.base.dir}/test"/>
10        <property name="build" value="${project.base.dir}/build"/>
11        <property name="classes" value="${build}/classes"/>
12        <property name="lib" value="${build}/lib"/>
13        <property name="resources" value="${project.base.dir}/resources"/>
14        <property name="xbeans.packaged.jar.name" value="XBeans-packaged.jar"/>
15        <property name="jars.ok" value=""/>
16        <property name="src.nongen" value="../src"/>
17        <property name="res.nongen" value="../resources"/>
18        <path id="axis2.class.path">
19                <pathelement path="${java.class.path}"/>
20                <pathelement path="${maven.class.path}"/>
21                <fileset dir="${axis2.home}">
22                        <include name="lib/*.jar"/>
23                </fileset>
24                <fileset dir="${resources}">
25                        <include name="xmlrpc-1.2-patched.jar"/>
26                </fileset>
27        </path>
28        <target name="init">
29                <mkdir dir="${build}"/>
30                <mkdir dir="${classes}"/>
31                <mkdir dir="${lib}"/>
32                <mkdir dir="${test}"/>
33        </target>
34        <target name="jar.xbeans">
35                <jar basedir="${resources}" destfile="${lib}/${xbeans.packaged.jar.name}" excludes="**/services.xml, **/*.xsd"/>
36        </target>
37        <target name="pre.compile.test" depends="init, jar.xbeans">
38                <!--Test the classpath for the availability of necesary classes-->
39                <available classname="org.apache.xmlbeans.XmlObject" property="xbeans.available" classpathref="axis2.class.path"/>
40                <available classname="javax.xml.stream.XMLStreamReader" property="stax.available" classpathref="axis2.class.path"/>
41                <available classname="org.apache.axis2.engine.AxisEngine" property="axis2.available" classpathref="axis2.class.path"/>
42                <condition property="jars.ok">
43                        <and>
44                                <isset property="xbeans.available"/>
45                                <isset property="stax.available"/>
46                                <isset property="axis2.available"/>
47                        </and>
48                </condition>
49                <!--Print out the availabilities-->
50                <echo message="XmlBeans Availability = ${xbeans.available}"/>
51                <echo message="Stax Availability= ${stax.available}"/>
52                <echo message="Axis2 Availability= ${axis2.available}"/>
53        </target>
54        <target name="compile.src" depends="pre.compile.test,copynongen" if="jars.ok">
55                <!-- Copy non-auto-generated src into same source tree for compilation -->
56                <javac debug="on" destdir="${classes}" srcdir="${src}">
57                        <classpath location="${lib}/${xbeans.packaged.jar.name}"/>
58                        <classpath refid="axis2.class.path"/>
59                </javac>
60        </target>
61        <target name="compile.test" depends="compile.src" if="jars.ok">
62                <javac debug="on" destdir="${classes}">
63                        <src path="${test}"/>
64                        <classpath location="${lib}/${xbeans.packaged.jar.name}"/>
65                        <classpath refid="axis2.class.path"/>
66                </javac>
67        </target>
68        <target name="echo.classpath.problem" depends="pre.compile.test" unless="jars.ok">
69                <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                 "/>
70        </target>
71        <target name="jar.all" depends="jar.server, jar.client"/>
72        <target name="jar.server" depends="compile.src,echo.classpath.problem" if="jars.ok">
73                <copy toDir="${classes}/META-INF">
74                        <fileset dir="${resources}">
75                                <include name="*.xml"/>
76                                <include name="*.wsdl"/>
77                                <include name="*.xsd"/>
78                                <exclude name="**/schemaorg_apache_xmlbean/**"/>
79                        </fileset>
80                </copy>
81                <copy file="${lib}/${xbeans.packaged.jar.name}" toDir="${classes}/lib"/>
82                <copy file="${resources}/DiscoveryService.properties" toDir="${classes}"/>
83                <copy file="${resources}/DiscoveryService.fullTextSearch.xq" toDir="${classes}"/>
84                <copy file="${resources}/xmlrpc-1.2-patched.jar" toDir="${classes}/lib"/>
85                <jar destfile="${lib}/${name}.aar">
86                        <fileset excludes="**/Test.class" dir="${classes}"/>
87                </jar>
88        </target>
89        <target name="jar.client" if="jars.ok" depends="compile.test">
90                <jar destfile="${lib}/${name}-test-client.jar">
91                        <fileset dir="${classes}">
92                                <exclude name="**/META-INF/*.*"/>
93                                <exclude name="**/lib/*.*"/>
94                                <exclude name="**/*MessageReceiver.class"/>
95                                <exclude name="**/*Skeleton.class"/>
96                        </fileset>
97                        <fileset dir="${resources}">
98                                <exclude name="**/*.wsdl"/>
99                                <exclude name="**/*.xsd"/>
100                                <exclude name="**/*.xml"/>
101                        </fileset>
102                </jar>
103        </target>
104        <target depends="jar.server" name="make.repo" if="jars.ok">
105                <mkdir dir="${build}/repo/"/>
106                <mkdir dir="${build}/repo/services"/>
107                <copy file="${build}/lib/${name}.aar" toDir="${build}/repo/services/"/>
108        </target>
109        <target depends="make.repo" name="start.server" if="jars.ok">
110                <java classname="org.apache.axis2.transport.http.SimpleHTTPServer" fork="true">
111                        <arg value="${build}/repo"/>
112                        <classpath refid="axis2.class.path"/>
113                </java>
114        </target>
115        <target if="jars.ok" name="run.test" depends="jar.client">
116                <path id="test.class.path">
117                        <pathelement location="${lib}/${name}-test-client.jar"/>
118                        <path refid="axis2.class.path"/>
119                </path>
120                <mkdir dir="${build}/test-reports/"/>
121                <junit printsummary="yes" haltonfailure="yes">
122                        <classpath refid="test.class.path"/>
123                        <formatter type="plain"/>
124                        <batchtest fork="yes" toDir="${build}/test-reports/">
125                                <fileset dir="${test}">
126                                        <include name="**/*Test*.java"/>
127                                </fileset>
128                        </batchtest>
129                </junit>
130        </target>
131        <target name="clean">
132                <delete dir="${build}"/>
133        </target>
134        <target name="javadoc" depends="compile.src" description="Create Javadoc API documentation">
135                <mkdir dir="${build}/docs/api"/>
136                <javadoc sourcepath="${src}" destdir="${build}/docs/api" packagenames="ndg.*,discoveryserviceapi.*"/>
137   </target>
138   <target name="copynongen">
139                <!-- Copy non-auto-generated src to source tree -->
140                <!-- NB. Overwrites even if files in toDir are newer -->
141                <copy toDir="${src}" overwrite="true">
142                        <fileset dir="${src.nongen}">
143                                <include name="**/*.java"/>
144                        </fileset>
145                </copy>
146                <copy toDir="${resources}" overwrite="true">
147                        <fileset dir="${res.nongen}">
148                                <include name="**/*.*"/>
149                        </fileset>
150                </copy>
151   </target>
152</project>
Note: See TracBrowser for help on using the repository browser.