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

    Copyright (c) 2017, 2022 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 commonSetup SYSTEM "./../../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../../../config/common.xml">
<!ENTITY commonRun SYSTEM "./../../../../../config/run.xml">
<!ENTITY timerCommon SYSTEM "file:./../timer-common.xml">
<!ENTITY reporting SYSTEM "./../../../../../config/report.xml">
<!ENTITY testproperties SYSTEM "build.properties">
]>

<project name="ejb-ee-getalltimers-timer" default="usage" basedir=".">


    &commonSetup;
    &commonBuild;
    &commonRun;
    &timerCommon;
    &testproperties;
    &reporting;

    <target name="all" depends="clean-results,build,setup,run-test,unsetup,dev-report"/>
    <target name="test" depends="build,setup,run-test,unsetup"/>

    <target name="setup" depends="init-common">
      <antcall target="start-database"/>
      <ant target="startDomain"/>
      <antcall target="setup-database"/>
      <antcall target="setup-cluster">
      </antcall>
    </target>

    <target name="run-test" depends="init-common">
      <antcall target="deploy-to-cluster"/>
      <antcall target="verify"/>
      <antcall target="undeploy-from-cluster"/>
    </target>

    <target name="setup-cluster" depends="init-common">
        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
              classname="${se.client}">
           <arg line="prepare"/>
        </java>
    </target>

    <target name="deploy-to-cluster" depends="init-common">
        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
              classname="${se.client}">
           <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
           <arg line="deploy"/>
           <arg line="${assemble.dir}/${appname}-web.war"/>
        </java>
    </target>

    <target name="undeploy-from-cluster" depends="init-common">
        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
              classname="${se.client}">
           <arg line="undeploy"/>
           <arg line="${appname}-web"/>
        </java>
    </target>

    <target name="unsetup" depends="init-common">
        <antcall target="save-logs"/>
        <antcall target="unsetup-cluster"/>
        <antcall target="unsetup-database"/>
        <antcall target="stop-database"/>
        <ant target="stopDomain"/>
    </target>

    <target name="unsetup-cluster" depends="init-common">
        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
              classname="${se.client}">
           <arg line="clean"/>
        </java>
    </target>

    <target name="start-database" depends="init-common">
        <echo message="Starting database --dbport ${db.port}"/>
        <echo message="${ASADMIN}"/>
        <!-- spawn is added to prevent a hang on Windows -->
        <exec spawn="true" executable="${ASADMIN}" failonerror="false">
          <arg line="start-database --dbport ${db.port}"/>
        </exec>
    </target>

    <target name="stop-database" depends="init-common">
        <echo message="Stopping database --dbport ${db.port}"/>
        <exec executable="${ASADMIN}" failonerror="false">
          <arg line="stop-database --dbport ${db.port}"/>
        </exec>
    </target>

    <target name="build" depends="compile-war">
      <antcall target="webclient-war-common">
          <param name="hasWebclient" value="false"/>
      </antcall>
       <antcall target="compile-client"/>
    </target>

    <target name="compile-war" depends="clean">
        <antcall target="compile-common">
            <param name="src" value="war"/>
        </antcall>
    </target>

    <target name="compile-client" >
        <javac fork="true" includeAntRuntime="false" destdir="${build.classes.dir}" debug="true"
               classpath="${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
               srcdir="${env.APS_HOME}/devtests/admin/cli/src" includes="**/*BaseDevTest.java">
        </javac>
        <javac fork="true" includeAntRuntime="false"
               classpath="${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
               destdir="${build.classes.dir}" debug="true" srcdir="client" includes="**/*.java">
            <classpath path="${classpath}"/>
        </javac>
    </target>

    <target name="verify" depends="init-common">
      <sleep seconds="20"/>
        <echo message="Verifying"/>
        <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
              classname="${se.client}">
           <arg line="verify"/>
           <arg line="${appname}-web"/>
           <arg line="28080"/>
           <arg line="28081"/>
        </java>
    </target>

    <target name="clean" depends="init-common">
      <antcall  target="clean-common"/>
    </target>

    <target name="clean-results" depends="init-common">
        <delete>
           <fileset dir="${env.APS_HOME}" includes="test_results*"/>
        </delete>
        <delete>
           <fileset dir="." includes="*.output"/>
        </delete>
    </target>

    <target name="usage">
        <antcall target="usage-common"/>
    </target>

</project>
