<?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}"/>
<!-- Test issue: ManagedBean need not have a no-arg constructor in CDI runtimes
            <ant dir="simple-managed-bean-interceptor-noargconstructor-missing" 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>
