<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE project [
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!ENTITY commonSetup SYSTEM "../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "../../../config/common.xml">
<!ENTITY reporting SYSTEM "../report.xml">
]>


<project name="timer" default="usage" basedir=".">
    &commonSetup;
    &commonBuild;
    &reporting;

    <target name="all">
        <antcall target="sessiontimer"/>
        <antcall target="timerserialization"/>
        <antcall target="timertests"/>
        <antcall target="mdbtimer"/>
    </target>

    <target name="sessiontimer">
        <record name="sessiontimer.output" action="start" />
            <ant dir="sessiontimer" target="all"/>
        <record name="sessiontimer.output" action="stop" />
    </target>

    <target name="mdbtimer">
        <record name="mdbtimer.output" action="start" />
            <ant dir="mdbtimer" target="all"/>
        <record name="mdbtimer.output" action="stop" />
    </target>

    <target name="timertests">
        <record name="timertests.output" action="start" />
            <ant dir="timertests" target="all"/>
        <record name="timertests.output" action="stop" />
    </target>

    <target name="timerserialization">
        <record name="timerserialization.output" action="start" />
            <ant dir="timerserialization" target="all"/>
        <record name="timerserialization.output" action="stop" />
    </target>

    <target name="usage">
        <echo>
                Usage:
                        ant all (Executes all the ejb-timer tests)

                        ant mdbtimer (Executes the ejb-timer mdbtimer

                        ant sessiontimer (Executes the ejb-timer sessiontimer test)
                        ant timertests (Executes the ejb-timer timertests test)
                        ant timerserialization (Executes the ejb-timer serialization test)

        </echo>
    </target>
</project>
