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