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

    Copyright (c) 2010, 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 commonBuild SYSTEM "./../config/common.xml">
<!ENTITY commonproperties SYSTEM "./../config/common.properties">
<!ENTITY bundleCommon SYSTEM "./../config/bundle_common.xml">
<!ENTITY testproperties SYSTEM "./build.properties">
]>

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

    &commonBuild;
    &commonproperties;
    &bundleCommon;
    &testproperties;

    <target name="all" depends="clean">
      <record name="${log.file}" action="start" />
         <antcall target="build"/>
      <record name="${log.file}" action="stop" />
    </target>

    <target name="build" depends="deploy, runtest, undeploy"/>

    <target name="clean">
      <antcall target="clean-common"/>
      <delete dir="${basedir}/WEB-INF/classes" failonerror="false"/>
    </target>

    <target name="compile">
      <mkdir dir="${basedir}/WEB-INF/classes"/>
      <javac srcdir="${basedir}/src"
        destdir="${basedir}/WEB-INF/classes"
        classpath="${env.S1AS_HOME}/modules/jakarta.servlet.jar"
        debug="on"
    failonerror="true"/>
    </target>

    <target name="deploy" depends="compile">
      <antcall target="install-exploded">
        <param name="installPath" value="${TEST_HOME_WEB}/test6"/>
      </antcall>
    </target>

    <target name="undeploy">
    <antcall target="uninstall-bundle" />
    </target>

    <target name="runtest">
    <antcall target="test">
      <param name="testURL" value="http://localhost:8080/test6/login.html" />
        </antcall>
    </target>

</project>
