blob: 00bdd9d0c3278434e8f6774ab67bcff149e05d5d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2005 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project default="default"
xmlns:j="jelly:core"
xmlns:ant="jelly:ant"
xmlns:maven="jelly:maven"
>
<!-- ==================== -->
<!-- Default Global Goals -->
<!-- ==================== -->
<goal name="default">
<attainGoal name="jar:install-snapshot"/>
</goal>
<goal name="build">
<attainGoal name="default"/>
<attainGoal name="runtck.jdori"/>
</goal>
<goal name="rebuild">
<attainGoal name="clean"/>
<attainGoal name="build"/>
</goal>
<goal name="clobber" prereqs="clean">
<delete>
<fileset dir="." defaultexcludes="no" includes="**/*~"/>
</delete>
</goal>
<!-- ================== -->
<!-- Running test cases -->
<!-- ================== -->
<goal name="runtck" prereqs="java:compile, enhance, testrunner.set, database, copyprops">
<echo>Run JDO TCK on the IUT with configuration ${jdo.tck.configuration}</echo>
<java fork="yes" dir="${jdo.tck.testdir}"
classname="${jdo.tck.testrunnerclass}">
<classpath refid="project.class.path"/>
<sysproperty key="ResultPrinterClass" value="${jdo.tck.resultprinterclass}"/>
<sysproperty key="verbose" value="${verbose}"/>
<sysproperty key="PMFProperties" value="${iut.runtck.properties}"/>
<sysproperty key="PMF2Properties" value="${basedir}/test/conf/jdori2.properties"/>
<jvmarg line="${iut.runtck.sysproperties}"/>
<arg line="${jdo.tck.testclasses}"/>
</java>
</goal>
<!-- Run a single tck test. The property testcase defines the name of -->
<!-- the tck test class w/o the prefix org.apache.jdo.tck, e.g. -->
<!-- maven -Dtest=api.jdohelper.GetObjectId runtck.single -->
<goal name="runtck.single" prereqs="java:compile, enhance, testrunner.set, database, copyprops">
<echo>Run TCK test org.apache.jdo.tck.${test} on the IUT with configuration ${jdo.tck.configuration}</echo>
<java fork="yes" dir="${jdo.tck.testdir}"
classname="org.apache.jdo.tck.${test}">
<classpath refid="project.class.path"/>
<sysproperty key="ResultPrinterClass" value="${jdo.tck.resultprinterclass}"/>
<sysproperty key="verbose" value="${verbose}"/>
<sysproperty key="PMFProperties" value="${iut.runtck.properties}"/>
<sysproperty key="PMF2Properties" value="${basedir}/test/conf/jdori2.properties"/>
<jvmarg line="${iut.runtck.sysproperties}"/>
</java>
</goal>
<goal name="runtck.jdori" prereqs="java:compile, jdorienhance, database, copyprops">
<echo>Run JDO TCK on the RI with configuration ${jdo.tck.configuration}</echo>
<j:set var="jdo.tck.testrunnerclass" value="org.apache.jdo.tck.util.BatchTestRunner"/>
<java fork="yes" dir="${jdo.tck.testdir}"
classname="${jdo.tck.testrunnerclass}">
<classpath refid="jdori.class.path"/>
<sysproperty key="ResultPrinterClass" value="${jdo.tck.resultprinterclass}"/>
<sysproperty key="verbose" value="${verbose}"/>
<sysproperty key="PMFProperties" value="${basedir}/test/conf/jdori.properties"/>
<sysproperty key="PMF2Properties" value="${basedir}/test/conf/jdori2.properties"/>
<arg line="${jdo.tck.alltests}"/>
</java>
</goal>
<!-- Run a single tck test. The property testcase defines the name of -->
<!-- the tck test class w/o the prefix org.apache.jdo.tck, e.g. -->
<!-- maven -Dtest=api.jdohelper.GetObjectId runtck.single -->
<goal name="runtck.jdorisingle" prereqs="java:compile, jdorienhance, database, copyprops">
<echo>Run TCK test org.apache.jdo.tck.${test} on the RI with configuration ${jdo.tck.configuration}</echo>
<java fork="yes" dir="${jdo.tck.testdir}"
classname="org.apache.jdo.tck.${test}">
<classpath refid="jdori.class.path"/>
<sysproperty key="ResultPrinterClass" value="${jdo.tck.resultprinterclass}"/>
<sysproperty key="verbose" value="${verbose}"/>
<sysproperty key="PMFProperties" value="${basedir}/test/conf/jdori.properties"/>
<sysproperty key="PMF2Properties" value="${basedir}/test/conf/jdori2.properties"/>
</java>
</goal>
<!-- ==================== -->
<!-- IUT Enhancer support -->
<!-- ==================== -->
<goal name="enhance">
<attainGoal name="enhance.applicationidentity"/>
<attainGoal name="enhance.datastoreidentity"/>
</goal>
<preGoal name="enhance.applicationidentity">
<condition property="enhancement.required">
<and>
<istrue value="${iut.applicationidentity.supported}"/>
<not>
<uptodate targetfile="${iut.enhanced.dir}/applicationidentity.jar">
<srcfiles dir="${basedir}/test/jdo/applicationidentity"
includes="org/apache/jdo/tck/pc/**/*.jdo,
org/apache/jdo/tck/pc/**/jdoTest.properties"/>
<srcfiles dir="${basedir}/test/java"
includes="${jdo.tck.pcclasses.sources}
${jdo.tck.paclasses.sources}"/>
</uptodate>
</not>
</and>
</condition>
</preGoal>
<goal name="enhance.applicationidentity">
<j:if test="${enhancement.required}">
<j:set var="identitytype" value="applicationidentity"/>
<attainGoal name="enhance.run"/>
</j:if>
</goal>
<preGoal name="enhance.datastoreidentity">
<condition property="enhancement.required">
<and>
<istrue value="${iut.datastoreidentity.supported}"/>
<not>
<uptodate targetfile="${iut.enhanced.dir}/datastoreidentity.jar">
<srcfiles dir="${basedir}/test/jdo/datastoreidentity"
includes="org/apache/jdo/tck/pc/**/*.jdo,
org/apache/jdo/tck/pc/**/jdoTest.properties"/>
<srcfiles dir="${basedir}/test/java"
includes="${jdo.tck.pcclasses.sources}
${jdo.tck.paclasses.sources}"/>
</uptodate>
</not>
</and>
</condition>
</preGoal>
<goal name="enhance.datastoreidentity">
<j:if test="${enhancement.required}">
<j:set var="identitytype" value="datastoreidentity"/>
<attainGoal name="enhance.run"/>
</j:if>
</goal>
<preGoal name="enhance.run">
<!-- copy metadata -->
<mkdir dir="${iut.enhanced.dir}" />
<copy todir="${iut.enhanced.dir}">
<fileset dir="${basedir}/test/jdo/${identitytype}"
includes="**/*.jdo, **/jdoTest.properties"/>
</copy>
<!-- compile pc and pa classes -->
<javac srcdir="${basedir}/test/java"
includes="${jdo.tck.pcclasses.sources} ${jdo.tck.paclasses.sources}"
destdir="${iut.enhanced.dir}"
debug="on"
target="${maven.compile.target}"
source="${maven.compile.source}"
classpathref="project.class.path">
</javac>
</preGoal>
<goal name="enhance.run">
<echo>Run IUT enhancer</echo>
<java fork="yes" failonerror="yes"
dir="${iut.enhanced.dir}"
classname="${iut.enhancer.main}"
classpath="${iut.enhancer.classpath}">
<jvmarg line="${iut.enhancer.sysproperties}"/>
<arg line="${iut.enhancer.options}"/>
<arg line="${iut.enhancer.args}"/>
</java>
</goal>
<postGoal name="enhance.run">
<delete file="${iut.enhanced.dir}/${identitytype}.jar"/>
<jar jarfile="${iut.enhanced.dir}/${identitytype}.jar">
<fileset dir="${iut.enhanced.dir}"
includes="**/*.class, **/*.jdo, **/jdoTest.properties"/>
</jar>
<delete dir="${iut.enhanced.dir}/org"/>
</postGoal>
<!-- ====================== -->
<!-- JDORI Enhancer support -->
<!-- ====================== -->
<goal name="jdorienhance">
<attainGoal name="jdorienhance.applicationidentity"/>
<attainGoal name="jdorienhance.datastoreidentity"/>
</goal>
<preGoal name="jdorienhance.applicationidentity">
<condition property="jdorienhancement.required">
<not>
<uptodate targetfile="${jdo.enhanced.dir}/applicationidentity.jar">
<srcfiles dir="${basedir}/test/jdo/applicationidentity"
includes="org/apache/jdo/tck/pc/**/*.jdo,
org/apache/jdo/tck/pc/**/jdoTest.properties"/>
<srcfiles dir="${basedir}/test/java"
includes="${jdo.tck.pcclasses.sources}
${jdo.tck.paclasses.sources}"/>
</uptodate>
</not>
</condition>
</preGoal>
<goal name="jdorienhance.applicationidentity">
<j:if test="${jdorienhancement.required}">
<j:set var="identitytype" value="applicationidentity"/>
<attainGoal name="jdorienhance.run"/>
</j:if>
</goal>
<preGoal name="jdorienhance.datastoreidentity">
<condition property="jdorienhancement.required">
<not>
<uptodate targetfile="${jdo.enhanced.dir}/datastoreidentity.jar">
<srcfiles dir="${basedir}/test/jdo/datastoreidentity"
includes="org/apache/jdo/tck/pc/**/*.jdo,
org/apache/jdo/tck/pc/**/jdoTest.properties"/>
<srcfiles dir="${basedir}/test/java"
includes="${jdo.tck.pcclasses.sources}
${jdo.tck.paclasses.sources}"/>
</uptodate>
</not>
</condition>
</preGoal>
<goal name="jdorienhance.datastoreidentity">
<j:if test="${jdorienhancement.required}">
<j:set var="identitytype" value="datastoreidentity"/>
<attainGoal name="jdorienhance.run"/>
</j:if>
</goal>
<preGoal name="jdorienhance.run">
<mkdir dir="${jdo.enhanced.dir}" />
<!-- copy metadata -->
<copy todir="${jdo.enhanced.dir}">
<fileset dir="${basedir}/test/jdo/${identitytype}"
includes="**/*.jdo, **/jdoTest.properties"/>
</copy>
<!-- compile pc and pa classes -->
<javac srcdir="${basedir}/test/java"
includes="${jdo.tck.pcclasses.sources} ${jdo.tck.paclasses.sources}"
destdir="${jdo.enhanced.dir}"
debug="on"
target="${maven.compile.target}"
source="${maven.compile.source}"
classpathref="jdori.class.path">
</javac>
</preGoal>
<goal name="jdorienhance.run">
<echo>Run JDORI enhancer</echo>
<java fork="yes" failonerror="yes"
dir="${jdo.enhanced.dir}"
classname="${jdo.enhancer.main}"
classpath="${jdo.enhancer.classpath}">
<arg line="${jdo.enhancer.options}"/>
<arg line="${jdo.enhancer.args}"/>
</java>
</goal>
<postGoal name="jdorienhance.run">
<delete file="${jdo.enhanced.dir}/${identitytype}.jar"/>
<jar jarfile="${jdo.enhanced.dir}/${identitytype}.jar">
<fileset dir="${jdo.enhanced.dir}"
includes="**/*.class, **/*.jdo, **/jdoTest.properties"/>
</jar>
<delete dir="${jdo.enhanced.dir}/org"/>
</postGoal>
<!-- ========= -->
<!-- Classpath -->
<!-- ========= -->
<ant:property file="${basedir}/test/conf/alltests.list"/>
<ant:property file="${jdo.tck.configuration}"/>
<path id="test_iut_jars" >
<fileset dir="iut_jars" includes="*.jar"/>
</path>
<path id="project.class.path">
<!-- Directory where enhanced class files are located -->
<pathelement location="${iut.enhanced.dir}/${jdo.tck.identitytype}.jar"/>
<!-- Directory where JDOTCK class files are located -->
<pathelement location="${jdo.tck.testclasses.dir}"/>
<!-- JDO jar file -->
<pathelement location="${jdo.jdoapi.jarfile}"/>
<pathelement location="${jta.jarfile}" />
<!-- Jar files for the implementation to be tested -->
<path refid="test_iut_jars" />
<!-- JUnit jar file -->
<pathelement location="${junit.jarfile}"/>
<!-- Spring jar files -->
<pathelement location="${springcore.jarfile}"/>
<pathelement location="${springbeans.jarfile}"/>
<pathelement location="${logging.jarfile}"/>
<!-- Jar files for the reference implementation -->
<pathelement location="${jdo.jdori.jarfile}" />
<pathelement location="${jdo.jdobtree.jarfile}" />
<pathelement location="${antlr.jarfile}" />
<pathelement location="${xmlparser}" />
</path>
<path id="jdori.class.path">
<!-- Directory where jdori enhanced class files are located -->
<pathelement location="${jdo.enhanced.dir}/${jdo.tck.identitytype}.jar"/>
<!-- Directory where JDOTCK class files are located -->
<pathelement location="${jdo.tck.testclasses.dir}"/>
<!-- JDO jar file -->
<pathelement location="${jdo.jdoapi.jarfile}"/>
<pathelement location="${jta.jarfile}" />
<!-- JUnit jar file -->
<pathelement location="${junit.jarfile}"/>
<!-- Spring jar files -->
<pathelement location="${springcore.jarfile}"/>
<pathelement location="${springbeans.jarfile}"/>
<pathelement location="${logging.jarfile}"/>
<!-- Jar files for the reference implementation -->
<pathelement location="${jdo.jdori.jarfile}" />
<pathelement location="${jdo.jdobtree.jarfile}" />
<pathelement location="${antlr.jarfile}" />
<pathelement location="${xmlparser}" />
</path>
<!-- ==== -->
<!-- Misc -->
<!-- ==== -->
<goal name="database">
<mkdir dir="${jdo.tck.testdir}/database" />
</goal>
<goal name="testrunner.set">
<condition property="jdo.tck.testrunnerclass"
value="org.apache.jdo.tck.util.SwingTestRunner">
<istrue value="${gui}"/>
</condition>
<condition property="jdo.tck.testrunnerclass"
value="org.apache.jdo.tck.util.BatchTestRunner">
<isfalse value="${gui}"/>
</condition>
</goal>
<goal name="copyprops">
<copy todir="${jdo.tck.testclasses.dir}" >
<fileset dir="${basedir}/test/conf">
<include name="commons-logging.properties"/>
<include name="simplelog.properties"/>
<include name="logging.properties"/>
</fileset>
<fileset dir="${basedir}/test/java">
<include name="**/*.xml"/>
</fileset>
</copy>
</goal>
</project>