<?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="MBeanApi Monitoring tests" default="all" basedir=".">

<property name="testsRoot" value="."/>
<property name="build" value="${testsRoot}/build"/>
<property file="./bootstrap.subcomponent.properties"/>
<property file="./../../../../../../../bootstrap/bootstrap.properties"/>
<property file="./../../../../../../../appserv/build.properties"/>
<property file="./build.properties"/>


    <path id="compile.classpath">
        <pathelement location="${jmxri.jar}"/>
        <pathelement location="${mbeanapi.jar}"/>
        <pathelement location="${mbeanapi-impl.jar}"/>
        <pathelement location="${jmx.jar}"/>
    </path>

    <path id="run.classpath">
        <pathelement location="${jmx-ri.jar}"/>
        <pathelement location="${mbeanapi.jar}"/>
        <pathelement location="${mbeanapi-impl.jar}"/>
        <pathelement location="../../common/build"/>
        <pathelement location="${jmx-remote.jar}"/>
        <pathelement location="${jmx-remote_optional.jar}"/>
        <pathelement location="${appserv-commons.jar}"/>
        <pathelement location="${mgmt-api.jar}"/>
        <pathelement location="${jmx.jar}"/>
        <pathelement location="build"/>
    </path>

    <target name="init" description="MBeanapi Tests initialization">
        <mkdir dir="${build}"/>
    </target>

    <!-- all -->
    <target name="all" depends="build"
        description="Build entire component">
        <antcall target="http-mtr-test"/>
    </target>

    <!-- build -->
    <target name="build" depends="compile"
        description="Build entire component" />

    <!-- compile-common -->
    <target name="compile-common" depends="init">
        <javac  srcdir="${src.dir}/appserv-tests/devtests/ee/admin/mbeanapi/common"
                destdir="${build}"
                debug="${javac.debug}"
                optimize="${javac.optimize}"
                source="${javac.source}"
                deprecation="${javac.deprecation}"
                failonerror="true">
            <classpath refid="compile.classpath"/>
            <include name="**/AMXMonitoringTestBase.java"/>
        </javac>
    </target>

    <!-- compile -->
    <target name="compile" depends="init, compile-common">
        <javac  srcdir="${src.dir}/appserv-tests/devtests/ee/admin/mbeanapi/monitoring/http"
                destdir="${build}"
                debug="${javac.debug}"
                optimize="${javac.optimize}"
                source="${javac.source}"
                deprecation="${javac.deprecation}"
                failonerror="true">
            <classpath refid="compile.classpath"/>
            <include name="**/*.java"/>
        </javac>
    </target>

    <!-- clean -->
    <target name="clean" description="clean">
        <delete dir="${build}"/>
    </target>

    <!-- EJB pool monitoring Test Case -->
    <target name="http-mtr-test">
        <antcall target="test-common">
            <param name="test.class"
               value="com.sun.s1asdev.admin.mbeanapi.monitoring.http.HTTPMonitoring"/>
       </antcall>
    </target>

    <target name="test-common">
        <java classname="${test.class}" failonerror="true" fork="true">
            <classpath>
                <path refid="run.classpath"/>
            </classpath>
        <jvmarg value="-enableassertions"/>
        <arg value="${instance.name}" />
        <arg value="${application.name}" />
        <arg value="${web.module.name}" />
       </java>
    </target>


</project>
