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

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

-->

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

    <property name="ejb-target" value="all"/>

<!-- ======== Targets by execution granularity ========== -->
    <target name="all">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="all"/>
        </antcall>
    </target>

    <target name="run-test">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="run-test"/>
        </antcall>
    </target>

    <target name="clean">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="clean"/>
        </antcall>
    </target>

    <target name="build">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="build"/>
        </antcall>
    </target>

    <target name="deploy">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="deploy"/>
        </antcall>
    </target>

    <target name="undeploy">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="undeploy"/>
        </antcall>
    </target>

    <target name="run">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="run"/>
        </antcall>
    </target>

    <target name="setup">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="setup"/>
        </antcall>
    </target>

    <target name="unsetup">
        <antcall target="runejbtargets">
            <param name="ejb-target" value="unsetup"/>
        </antcall>
    </target>


    <target name="runejbtargets">
        <antcall target="stateless"/>
    </target>

<!-- ======== Targets by technology ========== -->

    <target name="stateless">
        <record name="stateless.output" action="start" />
            <ant dir="ejb/stateless" target="${ejb-target}"/>
        <record name="stateless.output" action="stop" />
    </target>

    <target name="usage">
    <echo> Usage:
    ======== Targets by execution granularity =========

    ant clean (Cleans all ejb tests)
    ant build (builds all ejb tests)
    ant setup (setup all required resources)
    ant deploy (deploy all test apps)
    ant run (Executes all tests)
    ant undeploy (undeploy all test apps)
    ant unsetup (remove all set resources)

    ======== Targets by technology =========

    ant stateless (Executes the ejb stateless tests)
    ant all (Executes all the ejb tests)

    ===== Targets by technoloy and execution granularity ======
    Note: Run the command of the following type:

            % ant stateless -Dejb-target=clean

    to run the 'clean' target for 'stateless' tests
    </echo>
    </target>
</project>
