<?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/javax.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>
