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

    Copyright (c) 2021 Contributors to the Eclipse Foundation
    Copyright (c) 1997, 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

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "./../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../config/common.xml">
<!ENTITY run SYSTEM "./../../../config/run.xml">
<!ENTITY testproperties SYSTEM "./build.properties">
]>

<project name="webcontainer_unittest" default="all" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;
    &run;

    <target name="all" depends="enable-access-logging,build,deploy,run,undeploy,disable-access-logging"/>

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

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

    <target name="build" depends="compile">
        <property name="hasWebclient" value="yes"/>
        <antcall target="webclient-war-common">
            <param name="hasWebclient" value="yes"/>
            <param name="webclient.war.classes" value="**/*.class"/>
        </antcall>

        <javac srcdir="." classpath="${env.APS_HOME}/lib/reportbuilder.jar"
               includes="WebTest.java"/>
    </target>

    <target name="enable-access-logging" depends="init-common">
      <delete dir="${env.S1AS_HOME}/domains/domain1/logs/access"/>
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command" value="set" />
        <param name="operand.props"
               value="${appserver.instance.name}.http-service.access-logging-enabled=true"/>
      </antcall>
    </target>

    <target name="build-publish-war" depends="build, publish-war-common" />

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

    <target name="run" depends="init-common">
      <java classname="WebTest" fork="true">
        <arg value="${http.host}"/>
        <arg value="${http.port}"/>
        <arg value="${contextroot}"/>
        <arg value="${env.S1AS_HOME}"/>
        <classpath>
          <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
          <pathelement location="."/>
        </classpath>
      </java>
    </target>

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

    <target name="disable-access-logging" depends="init-common">
      <antcall target="asadmin-common-ignore-fail">
        <param name="admin.command" value="set" />
        <param name="operand.props"
               value="${appserver.instance.name}.http-service.access-logging-enabled=false"/>
      </antcall>
      <delete dir="${env.S1AS_HOME}/domains/domain1/logs/access"/>
    </target>

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