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

    Copyright (c) 2010, 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="javaee-int-test" default="usage" basedir=".">

    <property name="javaee-int-target" value="all" />

    <target name="run-test">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="run-test" />
        </antcall>
    </target>

    <target name="all">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="all" />
        </antcall>
    </target>

    <target name="clean">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="clean" />
        </antcall>
    </target>

    <target name="build">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="build" />
        </antcall>
    </target>

    <target name="setup">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="setup" />
        </antcall>
    </target>

    <target name="deploy">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="deploy" />
        </antcall>
    </target>

    <target name="undeploy">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="undeploy" />
        </antcall>
    </target>

    <target name="unsetup">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="unsetup" />
        </antcall>
    </target>

    <target name="run">
        <antcall target="javaee-int">
            <param name="javaee-int-target" value="run" />
        </antcall>
    </target>

    <target name="javaee-int">
        <record name="javaee-int.output" action="start" />

        <ant dir="builtin-beans" target="${javaee-int-target}" />
        <ant dir="servlet-context-injection-cdi" target="${javaee-int-target}" />
        <ant dir="simple-managed-bean-interceptor-nonnull-package" target="${javaee-int-target}" />
        <ant dir="no-interface-local-view-proxy-serializable" target="${javaee-int-target}" />
        <ant dir="normal-bean-injection-ear" target="${javaee-int-target}" />
        <ant dir="programmatic-lookup-ear" target="${javaee-int-target}" />
        <ant dir="bean-in-lib-dir-used-by-ejb-in-ear" target="${javaee-int-target}" />
        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection" target="${javaee-int-target}" />
        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-ordering" target="${javaee-int-target}" />
        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed" target="${javaee-int-target}" />
        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative" target="${javaee-int-target}" />
        <ant dir="cdi-servlet-3.0-annotation-with-web-inf-lib" target="${javaee-int-target}" />
        <ant dir="embedded-resource-adapter-as-bean-archive" target="${javaee-int-target}" />

        <record name="javaee-int.output" action="stop" />
    </target>

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