<?xml version="1.0" encoding="UTF-8"?>
<!--

    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 basedir="." default="ConfigBeanTest" name="devtest">
  <path id="global_cp">
    <pathelement location="./build"/>
    <pathelement location="../../../publish/JDK1.4_DBG.OBJ/admin/validator/lib/validator.jar"/>
    <pathelement location="../../../publish/JDK1.4_DBG.OBJ/appserv-commons/lib/appserv-commons.jar"/>
    <pathelement location="../../../publish/JDK1.4_DBG.OBJ/appserv-core/lib/appserv-core.jar"/>
    <pathelement location="../../../publish/JDK1.4_DBG.OBJ/admin-core/config-api/lib/config-api.jar"/>
    <pathelement location="../../../publish/JDK1.4_DBG.OBJ/junit/junit.jar"/>
    <pathelement location="../../../publish/JDK1.4_DBG.OBJ/netbeans/modules/schema2beans.jar"/>
    <pathelement location="../../../publish/JDK1.4_DBG.OBJ/jmx/lib/jmxri.jar"/>
  </path>

<!--   <target name="runtests"> -->
<!--     <antcall target="unit.test"> -->
<!--       <param name="class.under.test" value=" -->
<!--     </antcall> -->
<!--   </target> -->


  <target name="compile">
    <mkdir dir="build"/>
    <javac classpathref="global_cp" destdir="./build" srcdir="."/>
  </target>

  <target depends="compile" name="AdminObjectResourceDeleteTest">
    <antcall target="unit.test">
      <param name="class.under.test" value="com.sun.enterprise.config.AdminObjectResourceDeleteTest"/>
    </antcall>
  </target>

  <target depends="compile" name="ConfigBeanTest">
    <antcall target="unit.test">
      <param name="class.under.test" value="com.sun.enterprise.config.ConfigBeanTest"/>
    </antcall>
  </target>

  <target name="unit.test">
    <java classname="${class.under.test}"
          classpathref="global_cp"
          dir="com/sun/enterprise/config" fork="true"/>
  </target>

  <!-- Only works if either junit.jar is in $ANT_HOME/lib, or the junit tasks and junit.jar are on the CLASSPATH and NOT in $ANT_HOME/lib -->
  <target name="unit">
    <junit>
      <classpath refid="global_cp"/>
      <test name="com.sun.enterprise.config.serverbeans.validation.tests.SystemNamespaceTest">
        <formatter type="plain"/>
      </test>
    </junit>
  </target>
</project>
