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

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

Modified build script to include any jars placed in resources dir (not needed but easier than naming individually if this changes in future).

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