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

    Copyright (c) 2011, 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

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
<!ENTITY commonRun SYSTEM "./../../../../config/run.xml">
<!ENTITY reporting SYSTEM "./../../../../config/report.xml">
]>

<project name="ejb.ee.timer" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &commonRun;
    &reporting;

    <target name="all">
        <antcall target="clean-results"/>

        <record name="ejb.ee.timer.output" action="start" />

        <ant dir="autotimer" target="test"/>
        <ant dir="cli" target="test"/>
        <ant dir="domaindeployment" target="test"/>
        <ant dir="failover" target="test"/>
        <ant dir="getalltimers" target="test"/>
        <record name="ejb.ee.timer.output" action="stop" />
        <antcall target="dev-report"/>

    </target>

    <target name="xxx" depends="init-common">
        <antcall target="report"/>
    </target>

    <target name="clean-results" depends="init-common">
        <delete>
           <fileset dir="${env.APS_HOME}" includes="test_results*"/>
        </delete>
        <delete>
           <fileset dir="." includes="*.output"/>
        </delete>
    </target>

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