<?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 "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="basic"/>
        <antcall target="testclose"/>
        <antcall target="timertest"/>
        <antcall target="modulewithlibs"/>
        <antcall target="ejbinwar"/>
        <antcall target="skipjar"/>
        <antcall target="twocontainers"/>
        <antcall target="embedasync"/>
        <antcall target="jaxrs"/>

    </target>

    <target name="run-full">
        <!-- These tests require Full Profile -->
        <antcall target="modulewithappname"/>
        <antcall target="twomodules"/>
        <antcall target="twomoduleswithlibs"/>
        <antcall target="ejbandwar"/>
        <!-- These 2 tests will stop domain to run -->
        <antcall target="mdb"/>
        <antcall target="remote"/>
    </target>

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

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

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

    <target name="timertest">
        <record name="timertest.output" action="start" />
        <echo>Running timertest target ${timer.test.type} </echo>
            <ant dir="timertest" target="${timer.test.type}"/>
        <record name="timertest.output" action="stop" />
    </target>

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

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

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

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

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

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

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

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

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

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

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

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