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

    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

-->

<!ENTITY common SYSTEM "file:./../../config/common.xml">
<!ENTITY props SYSTEM "file:./../../config/properties.xml">
<!ENTITY commonee SYSTEM "file:./../../config/ee-common.xml">]>
<project name="Admin Infrastructure" default="all" basedir=".">
    <property name="src.dir" value="src"/>
    &props;
    &common;
    &commonee;
    <target name="runtest-pe-from-sqetests" depends="runmain">
      <echo message="PE tests get executed, make sure you have installed and started the default domain"/>
    </target>
    <target name="runtest-ee-from-sqetests" depends="runmain-ee">
      <echo message="EE tests get executed, make sure you have created the sqe-domain, node-agent, server instance ..."/>
    </target>
    <target name="build" depends="init-common">
        <mkdir dir="${build.classes.dir}/admin"/>
        <javac srcdir="${src.dir}"
        destdir="${build.classes.dir}/admin"
            fork="true">
        <classpath>
            <pathelement path="${s1astest.classpath}"/>
            <pathelement path="${build.classes.dir}/admin"/>
        </classpath>
    </javac>
    </target>
    <target name="all" depends="runmain"/>
    <target name="run-test" depends="runmain"/>
    <target name="runmain" depends="build, get-version-common">
    <java classname="TestDriver"
      dir="."
          fork="yes">
        <arg value="${admin.user}"/>
        <arg value="${admin.password}"/>
        <arg value="${admin.host}"/>
        <arg value="${admin.port}"/>
        <!-- following is to check if the protocol is https"/-->
        <arg value="${enterprise}"/>
        <arg value="tests.list"/>
        <classpath>
            <pathelement path="${s1astest.classpath}"/>
            <pathelement path="${build.classes.dir}/admin"/>
        </classpath>
    </java>
    </target>
    <target name="clean" depends="init-common">
        <delete dir="${build.classes.dir}/admin"/>
    </target>
    <target name="runmain-ee" depends="runmain">
    </target>
    <target name="setup">
    </target>

    <target name="deploy">
    </target>
    <target name="undeploy">
    </target>
    <target name="unsetup">
    </target>
</project>
