xref: /trunk/test/smoketestdoc/aoo-ant.xml (revision 6ad462b0)
1*6ad462b0Scbmarcum<?xml version="1.0" encoding="UTF-8"?>
2*6ad462b0Scbmarcum<!--***********************************************************
3*6ad462b0Scbmarcum *
4*6ad462b0Scbmarcum * Licensed to the Apache Software Foundation (ASF) under one
5*6ad462b0Scbmarcum * or more contributor license agreements.  See the NOTICE file
6*6ad462b0Scbmarcum * distributed with this work for additional information
7*6ad462b0Scbmarcum * regarding copyright ownership.  The ASF licenses this file
8*6ad462b0Scbmarcum * to you under the Apache License, Version 2.0 (the
9*6ad462b0Scbmarcum * "License"); you may not use this file except in compliance
10*6ad462b0Scbmarcum * with the License.  You may obtain a copy of the License at
11*6ad462b0Scbmarcum *
12*6ad462b0Scbmarcum *   http://www.apache.org/licenses/LICENSE-2.0
13*6ad462b0Scbmarcum *
14*6ad462b0Scbmarcum * Unless required by applicable law or agreed to in writing,
15*6ad462b0Scbmarcum * software distributed under the License is distributed on an
16*6ad462b0Scbmarcum * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*6ad462b0Scbmarcum * KIND, either express or implied.  See the License for the
18*6ad462b0Scbmarcum * specific language governing permissions and limitations
19*6ad462b0Scbmarcum * under the License.
20*6ad462b0Scbmarcum *
21*6ad462b0Scbmarcum ***********************************************************-->
22*6ad462b0Scbmarcum
23*6ad462b0Scbmarcum<!-- copied from main/solenv/ant and modified for standalone tests -->
24*6ad462b0Scbmarcum
25*6ad462b0Scbmarcum<project name="aoo-ant" default="main" xmlns:if="ant:if" xmlns:unless="ant:unless">
26*6ad462b0Scbmarcum
27*6ad462b0Scbmarcum    <!-- ================================================================= -->
28*6ad462b0Scbmarcum    <!-- settings                                                          -->
29*6ad462b0Scbmarcum    <!-- ================================================================= -->
30*6ad462b0Scbmarcum
31*6ad462b0Scbmarcum    <dirname property="aoo-ant.basedir" file="${ant.file.aoo-ant}"/>
32*6ad462b0Scbmarcum
33*6ad462b0Scbmarcum    <!-- RSCREVISION: -->
34*6ad462b0Scbmarcum    <property file="${aoo-ant.basedir}/../../main/solenv/inc/minor.mk"/>
35*6ad462b0Scbmarcum
36*6ad462b0Scbmarcum    <property name="main.src.dir" location="src/main/java"/>
37*6ad462b0Scbmarcum    <property name="res.src.dir" location="src/main/resources"/>
38*6ad462b0Scbmarcum    <property name="idl.src.dir" location="src/main/idl"/>
39*6ad462b0Scbmarcum    <property name="test.src.dir" location="src/test/java"/>
40*6ad462b0Scbmarcum    <property name="test-res.src.dir" location="src/test/resources"/>
41*6ad462b0Scbmarcum    <property name="test-idl.src.dir" location="src/test/idl"/>
42*6ad462b0Scbmarcum
43*6ad462b0Scbmarcum    <property name="main.build.dir" location="${build.base.dir}/main"/>
44*6ad462b0Scbmarcum    <property name="idl.build.dir" location="${build.base.dir}/idl"/>
45*6ad462b0Scbmarcum    <property name="idl.build.classes.dir" location="${build.base.dir}/idl/classes"/>
46*6ad462b0Scbmarcum    <property name="test.build.dir" location="${build.base.dir}/test"/>
47*6ad462b0Scbmarcum    <property name="test-idl.build.dir" location="${build.base.dir}/test-idl"/>
48*6ad462b0Scbmarcum    <property name="test-idl.classes.build.dir" location="${build.base.dir}/test-idl/classes"/>
49*6ad462b0Scbmarcum    <property name="test.reports.dir" location="${build.base.dir}/test-reports"/>
50*6ad462b0Scbmarcum
51*6ad462b0Scbmarcum    <property name="java.baseline.version" value="1.7"/>
52*6ad462b0Scbmarcum
53*6ad462b0Scbmarcum    <property name="main.debug" value="true"/>
54*6ad462b0Scbmarcum    <property name="main.deprecation" value="false"/>
55*6ad462b0Scbmarcum    <property name="test.debug" value="true"/>
56*6ad462b0Scbmarcum    <property name="test.deprecation" value="false"/>
57*6ad462b0Scbmarcum
58*6ad462b0Scbmarcum    <import file="${aoo-ant.basedir}/idl.xml"/>
59*6ad462b0Scbmarcum
60*6ad462b0Scbmarcum    <target name="init-project"/>
61*6ad462b0Scbmarcum
62*6ad462b0Scbmarcum    <target name="prepare" depends="init-project">
63*6ad462b0Scbmarcum        <property name="jar.enabled" value="true"/>
64*6ad462b0Scbmarcum        <property name="jar.name" value="${ant.project.name}"/>
65*6ad462b0Scbmarcum        <property name="jar.classpath" value=""/>
66*6ad462b0Scbmarcum        <property name="jar.manifest" value ="${aoo-ant.basedir}/manifest.empty"/>
67*6ad462b0Scbmarcum
68*6ad462b0Scbmarcum        <local name="has.main.classpath"/>
69*6ad462b0Scbmarcum        <condition property="has.main.classpath">
70*6ad462b0Scbmarcum            <isreference refid="main.classpath"/>
71*6ad462b0Scbmarcum        </condition>
72*6ad462b0Scbmarcum        <path id="internal.main.classpath">
73*6ad462b0Scbmarcum            <path refid="main.classpath" if:set="has.main.classpath"/>
74*6ad462b0Scbmarcum            <pathelement location="${idl.classes.build.dir}"/>
75*6ad462b0Scbmarcum        </path>
76*6ad462b0Scbmarcum
77*6ad462b0Scbmarcum        <local name="has.test.classpath"/>
78*6ad462b0Scbmarcum        <condition property="has.test.classpath">
79*6ad462b0Scbmarcum            <isreference refid="test.classpath"/>
80*6ad462b0Scbmarcum        </condition>
81*6ad462b0Scbmarcum        <path id="internal.test.classpath">
82*6ad462b0Scbmarcum            <pathelement location="${main.build.dir}"/>
83*6ad462b0Scbmarcum            <pathelement location="${idl.classes.build.dir}"/>
84*6ad462b0Scbmarcum            <pathelement location="${test.build.dir}"/>
85*6ad462b0Scbmarcum            <pathelement location="${test-idl.classes.build.dir}"/>
86*6ad462b0Scbmarcum            <path refid="main.classpath"/>
87*6ad462b0Scbmarcum            <path refid="test.classpath" if:set="has.test.classpath"/>
88*6ad462b0Scbmarcum            <pathelement location="${OOO_JUNIT_JAR}"/>
89*6ad462b0Scbmarcum            <pathelement location="${HAMCREST_CORE_JAR}" if:set="HAMCREST_CORE_JAR"/>
90*6ad462b0Scbmarcum        </path>
91*6ad462b0Scbmarcum    </target>
92*6ad462b0Scbmarcum
93*6ad462b0Scbmarcum    <target name="dependencies" depends="prepare">
94*6ad462b0Scbmarcum        <local name="has.main.classpath"/>
95*6ad462b0Scbmarcum        <condition property="has.main.classpath">
96*6ad462b0Scbmarcum            <isreference refid="main.classpath"/>
97*6ad462b0Scbmarcum        </condition>
98*6ad462b0Scbmarcum
99*6ad462b0Scbmarcum        <pathconvert refid="main.classpath" setonempty="true" pathsep=" " property="deps" if:set="has.main.classpath"/>
100*6ad462b0Scbmarcum        <property name="deps" value=""/>
101*6ad462b0Scbmarcum        <echo message="${deps}" file="${dependencies.outfile}"/>
102*6ad462b0Scbmarcum    </target>
103*6ad462b0Scbmarcum
104*6ad462b0Scbmarcum    <target name="res" depends="prepare">
105*6ad462b0Scbmarcum        <mkdir dir="${main.build.dir}"/>
106*6ad462b0Scbmarcum        <copy todir="${main.build.dir}" failonerror="false" quiet="true">
107*6ad462b0Scbmarcum             <fileset dir="${res.src.dir}">
108*6ad462b0Scbmarcum                 <include name="**/*"/>
109*6ad462b0Scbmarcum             </fileset>
110*6ad462b0Scbmarcum        </copy>
111*6ad462b0Scbmarcum    </target>
112*6ad462b0Scbmarcum
113*6ad462b0Scbmarcum    <extension-point name="pre-compile" depends="prepare,res"/>
114*6ad462b0Scbmarcum
115*6ad462b0Scbmarcum    <target name="idl" depends="pre-compile">
116*6ad462b0Scbmarcum        <fileset id="idl.files" dir="${idl.src.dir}" includes="**/*.idl" erroronmissingdir="false"/>
117*6ad462b0Scbmarcum        <idl-javamaker
118*6ad462b0Scbmarcum            idlFiles="idl.files"
119*6ad462b0Scbmarcum            idlBuildDir="${idl.build.dir}"/>
120*6ad462b0Scbmarcum    </target>
121*6ad462b0Scbmarcum
122*6ad462b0Scbmarcum    <target name="compile" depends="idl">
123*6ad462b0Scbmarcum        <mkdir dir="${main.build.dir}"/>
124*6ad462b0Scbmarcum        <javac srcdir="${main.src.dir}"
125*6ad462b0Scbmarcum               destdir="${main.build.dir}"
126*6ad462b0Scbmarcum               source="${java.baseline.version}"
127*6ad462b0Scbmarcum               target="${java.baseline.version}"
128*6ad462b0Scbmarcum               debug="${main.debug}"
129*6ad462b0Scbmarcum               debuglevel="lines,vars,source"
130*6ad462b0Scbmarcum               deprecation="${main.deprecation}"
131*6ad462b0Scbmarcum               classpathref="internal.main.classpath"
132*6ad462b0Scbmarcum               includeantruntime="false"/>
133*6ad462b0Scbmarcum    </target>
134*6ad462b0Scbmarcum
135*6ad462b0Scbmarcum    <macrodef name="check-test">
136*6ad462b0Scbmarcum        <sequential>
137*6ad462b0Scbmarcum            <local name="tests.present"/>
138*6ad462b0Scbmarcum            <available type="dir" file="${test.src.dir}" property="tests.present"/>
139*6ad462b0Scbmarcum            <echo message="No tests" unless:set="tests.present"/>
140*6ad462b0Scbmarcum
141*6ad462b0Scbmarcum            <local name="only.junit.absent"/>
142*6ad462b0Scbmarcum            <condition property="only.junit.absent">
143*6ad462b0Scbmarcum                <and>
144*6ad462b0Scbmarcum                    <isset property="tests.present"/>
145*6ad462b0Scbmarcum                    <not><isset property="OOO_JUNIT_JAR"/></not>
146*6ad462b0Scbmarcum                </and>
147*6ad462b0Scbmarcum            </condition>
148*6ad462b0Scbmarcum            <echo message="No junit, skipping tests" if:set="only.junit.absent"/>
149*6ad462b0Scbmarcum
150*6ad462b0Scbmarcum            <condition property="test.skip">
151*6ad462b0Scbmarcum                <or>
152*6ad462b0Scbmarcum                    <not><isset property="tests.present"/></not>
153*6ad462b0Scbmarcum                    <not><isset property="OOO_JUNIT_JAR"/></not>
154*6ad462b0Scbmarcum                </or>
155*6ad462b0Scbmarcum            </condition>
156*6ad462b0Scbmarcum        </sequential>
157*6ad462b0Scbmarcum    </macrodef>
158*6ad462b0Scbmarcum
159*6ad462b0Scbmarcum    <target name="test-res" depends="pre-compile">
160*6ad462b0Scbmarcum        <mkdir dir="${test.build.dir}" unless:set="test.skip"/>
161*6ad462b0Scbmarcum        <copy todir="${test.build.dir}" failonerror="false" quiet="true" unless:set="test.skip">
162*6ad462b0Scbmarcum             <fileset dir="${test-res.src.dir}">
163*6ad462b0Scbmarcum                 <include name="**/*"/>
164*6ad462b0Scbmarcum             </fileset>
165*6ad462b0Scbmarcum        </copy>
166*6ad462b0Scbmarcum    </target>
167*6ad462b0Scbmarcum
168*6ad462b0Scbmarcum    <target name="test-idl" depends="test-res">
169*6ad462b0Scbmarcum        <fileset id="test-idl.files" dir="${test-idl.src.dir}" includes="**/*.idl" erroronmissingdir="false"/>
170*6ad462b0Scbmarcum        <idl-javamaker
171*6ad462b0Scbmarcum            idlFiles="test-idl.files"
172*6ad462b0Scbmarcum            idlBuildDir="${test-idl.build.dir}"/>
173*6ad462b0Scbmarcum    </target>
174*6ad462b0Scbmarcum
175*6ad462b0Scbmarcum    <target name="test-compile" depends="compile,test-idl">
176*6ad462b0Scbmarcum        <check-test/>
177*6ad462b0Scbmarcum        <mkdir dir="${test.build.dir}" unless:set="test.skip"/>
178*6ad462b0Scbmarcum        <javac srcdir="${test.src.dir}"
179*6ad462b0Scbmarcum               destdir="${test.build.dir}"
180*6ad462b0Scbmarcum               source="${java.baseline.version}"
181*6ad462b0Scbmarcum               target="${java.baseline.version}"
182*6ad462b0Scbmarcum               debug="${test.debug}"
183*6ad462b0Scbmarcum               debuglevel="lines,vars,source"
184*6ad462b0Scbmarcum               deprecation="${test.deprecation}"
185*6ad462b0Scbmarcum               classpathref="internal.test.classpath"
186*6ad462b0Scbmarcum               includeantruntime="false"
187*6ad462b0Scbmarcum               unless:set="test.skip"/>
188*6ad462b0Scbmarcum    </target>
189*6ad462b0Scbmarcum
190*6ad462b0Scbmarcum    <!-- fork="true" is sadly necessary on Ubuntu due to multiple versions of junit confusing Ant,
191*6ad462b0Scbmarcum         see https://github.com/real-logic/simple-binary-encoding/issues/96 -->
192*6ad462b0Scbmarcum    <target name="test" depends="test-compile" unless="${test.skip}">
193*6ad462b0Scbmarcum        <mkdir dir="${test.reports.dir}"/>
194*6ad462b0Scbmarcum        <junit printsummary="yes" haltonfailure="yes" showoutput="true" filtertrace="false" fork="true">
195*6ad462b0Scbmarcum            <classpath refid="internal.test.classpath"/>
196*6ad462b0Scbmarcum            <formatter type="plain"/>
197*6ad462b0Scbmarcum            <batchtest todir="${test.reports.dir}">
198*6ad462b0Scbmarcum                <fileset dir="${test.src.dir}">
199*6ad462b0Scbmarcum                    <include name="**/*_Test.java"/>
200*6ad462b0Scbmarcum                </fileset>
201*6ad462b0Scbmarcum            </batchtest>
202*6ad462b0Scbmarcum        </junit>
203*6ad462b0Scbmarcum    </target>
204*6ad462b0Scbmarcum
205*6ad462b0Scbmarcum    <target name="jar" depends="compile" if="${jar.enabled}">
206*6ad462b0Scbmarcum        <jar destfile="${jar.dir}/${jar.name}.jar"
207*6ad462b0Scbmarcum             manifest="${jar.manifest}"
208*6ad462b0Scbmarcum             duplicate="fail">
209*6ad462b0Scbmarcum            <manifest>
210*6ad462b0Scbmarcum                <attribute name="Class-Path" value="${jar.classpath}" unless:blank="${jar.classpath}"/>
211*6ad462b0Scbmarcum                <attribute name="Solar-Version" value="${RSCREVISION}"/>
212*6ad462b0Scbmarcum            </manifest>
213*6ad462b0Scbmarcum            <fileset dir="${main.build.dir}"/>
214*6ad462b0Scbmarcum<!-- Breaks trunk/test/smoketestdoc by packaging different classes with the same name: -->
215*6ad462b0Scbmarcum<!--            <fileset dir="${idl.build.classes.dir}" erroronmissingdir="false"/> -->
216*6ad462b0Scbmarcum            <include name="**/*.class"/>
217*6ad462b0Scbmarcum            <include name="**/*.properties"/>
218*6ad462b0Scbmarcum            <include name="**/*.css"/>
219*6ad462b0Scbmarcum            <include name="**/*.dtd"/>
220*6ad462b0Scbmarcum            <include name="**/*.form"/>
221*6ad462b0Scbmarcum            <include name="**/*.gif "/>
222*6ad462b0Scbmarcum            <include name="**/*.htm"/>
223*6ad462b0Scbmarcum            <include name="**/*.html"/>
224*6ad462b0Scbmarcum            <include name="**/*.js"/>
225*6ad462b0Scbmarcum            <include name="**/*.mod"/>
226*6ad462b0Scbmarcum            <include name="**/*.sql"/>
227*6ad462b0Scbmarcum            <include name="**/*.xml"/>
228*6ad462b0Scbmarcum            <include name="**/*.xsl"/>
229*6ad462b0Scbmarcum            <include name="**/*.map"/>
230*6ad462b0Scbmarcum        </jar>
231*6ad462b0Scbmarcum    </target>
232*6ad462b0Scbmarcum
233*6ad462b0Scbmarcum    <extension-point name="pre-clean" depends="prepare"/>
234*6ad462b0Scbmarcum
235*6ad462b0Scbmarcum    <target name="clean" depends="pre-clean">
236*6ad462b0Scbmarcum        <delete dir="${build.base.dir}"/>
237*6ad462b0Scbmarcum        <delete file="${jar.dir}/${jar.name}.jar"/>
238*6ad462b0Scbmarcum    </target>
239*6ad462b0Scbmarcum
240*6ad462b0Scbmarcum    <target name="main" depends="test,jar"/>
241*6ad462b0Scbmarcum
242*6ad462b0Scbmarcum</project>
243*6ad462b0Scbmarcum
244