<?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 embeddedCommon SYSTEM "../../ejb31/embedded/embedded.xml">
<!ENTITY reporting   SYSTEM "../../report.xml">
]>

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

    <target name="all-report">
        <antcall target="clean-result"/>
        <antcall target="all"/>
        <antcall target="dev-report"/>
    </target>

    <target name="lite-report">
        <antcall target="clean-result"/>
        <antcall target="lite"/>
        <antcall target="dev-report"/>
    </target>

    <target name="all">
        <!-- disallow individual tests from starting and stopping database -->
        <property name="skip.start.database" value="true"/>
        <property name="skip.stop.database" value="true"/>
        <property name="timer.test.type" value="all"/>
        <antcall target="start-derby"/>
        <antcall target="run-lite"/>
        <antcall target="run-full"/>
        <antcall target="stop-derby"/>
    </target>

    <target name="lite">
        <!-- disallow individual tests from starting and stopping database -->
        <property name="skip.start.database" value="true"/>
        <property name="skip.stop.database" value="true"/>
        <property name="timer.test.type" value="lite"/>
        <antcall target="startdb"/>
        <antcall target="run-lite"/>
        <antcall target="stop-derby"/>
    </target>

    <target name="startdb">
        <!-- disallow individual tests from starting and stopping database -->
        <property name="skip.start.database" value="true"/>
        <property name="skip.stop.database" value="true"/>
        <antcall target="start-derby"/>
    </target>

    <target name="stopdb">
        <antcall target="stop-derby"/>
    </target>

    <target name="run-lite">
        <antcall target="autoclose"/>
    </target>

    <target name="run-full">
        <!-- Add tests require Full Profile -->
    </target>

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

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