<?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="test7" 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="setup, runtest, undeploy"/>

    <target name="clean">
      <antcall target="clean-common"/>
      <delete dir="${basedir}/generated"/>
      <delete file="${basedir}/${log.file}"/>
    </target>

    <target name="setup" depends="package-app, deploy-app"/>

    <target name="package-app">
      <mkdir dir="${basedir}/generated" />
      <antcall target="package-war">
        <param name="destfile" value="${basedir}/generated/${appname}.war"/>
        <param name="build.classes.dir" value="${basedir}/src"/>
        <param name="manifest.mf" value="${basedir}/MANIFEST.MF"/>
      </antcall>
    </target>

    <target name="deploy-app">
      <antcall target="install-webbundle">
        <param name="installPath" value="${TEST_HOME_WEB}/test7/generated/${appname}.war?Web-ContextPath=test7"/>
      </antcall>
    </target>

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

    <target name="runtest">
    <antcall target="test">
      <param name="testURL" value="http://localhost:8080/test7" />
        </antcall>
    </target>

</project>
