<?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="stateless-target" value="all"/>

    <target name="run-test">
        <antcall target="converter">
        <param name="stateless-target" value="run-test"/>
        </antcall>
    </target>

    <target name="all">
        <antcall target="converter">
        <param name="stateless-target" value="all"/>
        </antcall>
    </target>

    <target name="clean">
        <antcall target="converter">
        <param name="stateless-target" value="clean"/>
        </antcall>
    </target>

    <target name="build">
        <antcall target="converter">
        <param name="stateless-target" value="build"/>
        </antcall>
    </target>

    <target name="setup">
        <antcall target="converter">
        <param name="stateless-target" value="setup"/>
        </antcall>
    </target>

    <target name="deploy">
        <antcall target="converter">
        <param name="stateless-target" value="deploy"/>
        </antcall>
    </target>

    <target name="undeploy">
        <antcall target="converter">
        <param name="stateless-target" value="undeploy"/>
        </antcall>
    </target>

    <target name="unsetup">
        <antcall target="converter">
        <param name="stateless-target" value="unsetup"/>
        </antcall>
    </target>

    <target name="run">
        <antcall target="converter">
        <param name="stateless-target" value="run"/>
        </antcall>
    </target>

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

    <target name="usage">
    <echo> Usage:
        ant converter (Executes the converter tests)
        ant all (Executes all the ejb session stateless tests)
        ant clean (cleans all the ejb session stateless tests)
        ant build (builds all the ejb session stateless tests)
        ant setup (sets up all resources for stateless tests)
        ant deploy (deploys all the ejb session stateless apps)
        ant run (Executes all the ejb session stateless tests)
        ant undeploy (undeploys all the session stateless apps)
        ant unsetup (unsets all resources for stateless tests)
    </echo>
    </target>
</project>
