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

    Copyright (c) 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 commonSetup SYSTEM "file:./../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../../config/common.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>

<!--
    Makes sure that the setting of APPCPATH prior to running the appclient
    script behaves correctly.

    This script builds an app client and a separate library jar that is not
    bundled with the app client.  The test does not deploy the app client but
    simply invokes the app client jar directly.

-->
<project name="appcpath" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

    <import file="../appclient.xml"/>

    <target name="init" depends="init-common">
        <property name="lib.jar.file" value="${assemble.dir}/appcpathlib.jar"/>
    </target>

    <!--
        No need to deploy (or undeploy) because we can use an undeployed stand-alone app
        client to test this feature.
    -->
    <target name="all" depends="build,run"/>

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

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

        <antcall target="compile-common">
            <param name="src" value="${env.APS_HOME}/util/reporter"/>
        </antcall>
    </target>

    <target name="build" depends="compile">
        <mkdir dir="${assemble.dir}"/>
        <!-- Build the stand-alone app client. -->
        <antcall target="package-appclientjar-common">
            <param name="appclientjar.files" value="${build.classes.dir}"/>
            <param name="appclientjar.classes" value="**/client/*.class **/reporter/*.class"/>
            <param name="appclient.jar" value="${assemble.dir}/${clientname}.jar"/>
        </antcall>

        <!-- Build the library jar. -->
        <jar jarfile="${lib.jar.file}"
            basedir="${build.classes.dir}"
            update="true" includes ="**/lib/*.class"
        />
    </target>

    <target name="deploy">
        <echo>The "deploy" target is not used in this test.</echo>
    </target>

    <target name="undeploy">
        <echo>The "undeploy" target is not used in this test.</echo>
    </target>

    <target name="run" depends="init">
        <echo>Testing stand-alone client...</echo>
        <!--
            Run the client with a nonsense setting for the APPCPATH env. var.
            This test should fail.
        -->
        <runclient appcpath-setting="no-where" resultproperty="expectFailure" expectedOutcome="fail"/>

        <!--
            Now run with the correct setting for APPCPATH - pointing to the
            previously-build library jar.  This test should pass.
        -->
        <runclient appcpath-setting="${lib.jar.file}" resultproperty="expectSuccess" expectedOutcome="pass"/>

        <condition property="result" value="passed" else="failed">
            <and>
                <equals arg1="${expectFailure}" arg2="1"/>
                <equals arg1="${expectSuccess}" arg2="0"/>
            </and>
        </condition>
        <echo>Test result: ${result}</echo>
    </target>

    <!--
        The following macro executes the client with the APPCPATH set according
        to the macro argument appcpath-setting.
    -->
    <macrodef name="runclient">
        <attribute name="appcpath-setting"/>
        <attribute name="resultproperty"/>
        <attribute name="expectedOutcome" default="pass"/> <!-- either "pass" or "fail" -->
        <sequential>
            <property name="appclient.jar" value="${assemble.dir}/${appname}-client.jar"/>
            <property name="generated.appclient.jar" value="${assemble.dir}/${appname}-client.jar"/>
            <echo>With APPCPATH set to @{appcpath-setting} invoking...</echo>
            <echo>appclient -client ${generated.appclient.jar} ${appclient.application.args}</echo>
            <exec executable="${APPCLIENT}" failonerror="false" resultproperty="@{resultProperty}">
                <arg line="-client ${generated.appclient.jar}"/>
                <arg value="@{expectedOutcome}"/>
                <env key="APPCPATH" value="@{appcpath-setting}"/>
            </exec>
        </sequential>
    </macrodef>



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

</project>
