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

    Copyright (c) 2017, 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">
]>

<project name="NoAppXml_Directory" default="usage" basedir=".">

    &commonBuild;

    <property name="testName" value="NoAppXml_Directory"/>

    <target name="prepare" depends="init">
        <mkdir dir="${build}/${testName}/ejb_jar/META-INF"/>
        <property name="util.jar" value="${build}/${testName}/util.jar"/>
        <property name="appclient.jar" value="${build}/appclient.jar"/>
    </target>

    <target name="compile" depends="prepare">
        <mkdir dir="${build}"/>
        <javac srcdir="."
               destdir="${build}"
               debug="on"
               failonerror="true">
            <classpath refid="gfv3.classpath"/>
        </javac>
    </target>

    <target name="assemble" depends="compile">
        <jar destfile="${util.jar}">
            <fileset dir="${build}"
                     includes="com/sun/s1asdev/deployment/noappxml/util/**.class"/>
        </jar>
        <jar destfile="${appclient.jar}" manifest="client/MANIFEST.MF">
            <fileset dir="${build}"
                     includes="com/sun/s1asdev/deployment/noappxml/client/**.class,
                               com/sun/s1asdev/deployment/noappxml/ejb/Sful.class,
                               com/sun/s1asdev/deployment/noappxml/ejb/Sless.class"/>
        </jar>
        <copy todir="${build}/${testName}/ejb_jar">
            <fileset dir="${build}" includes="com/sun/s1asdev/deployment/noappxml/ejb/**.class"/>
        </copy>
        <copy file="./ejb/MANIFEST.MF" todir="${build}/${testName}/ejb_jar/META-INF"/>
    </target>

    <target name="deploy.asadmin" depends="prepare">
        <antcall target="common.deploydir.asadmin">
            <param name="arg.list" value="${build}/${testName}"/>
        </antcall>
    </target>

    <target name="redeploy.asadmin" depends="prepare">
        <antcall target="common.redeploydir.asadmin">
            <param name="arg.list" value="${portable.ear}"/>
            <param name="arg.list" value="${build}/${testName}"/>
        </antcall>
    </target>

    <target name="undeploy.asadmin">
        <antcall target="common.undeploy.asadmin">
            <param name="arg.list" value="${testName}"/>
            <param name="testName" value="${testName}"/>
        </antcall>
    </target>

    <target name="runclient" depends="prepare,setOrbPort2">
        <exec executable="${APPCLIENT}"
              resultproperty="result"
              failonerror="false"
              output="${build}/${log.id}.output.log">
          <arg line="-targetserver ${appclient.targetservers} -client ${appclient.jar}"/>
        </exec>
        <antcall target="processResult">
            <param name="result" value="${result}"/>
            <param name="log" value="${build}/${log.id}.output.log"/>
        </antcall>
    </target>

    <target name="private-all" depends="private-all-pe"/>

    <target name="private-all-pe" if="PE">
        <antcall target="assemble"/>

        <antcall target="declare-test">
            <param name="description" value="descriptor_free/ear/dir_deploy asadmin deploydir"/>
        </antcall>
        <antcall target="deploy.asadmin"/>
        <antcall target="runclient">
            <param name="log.id" value="1"/>
        </antcall>

        <antcall target="declare-test">
            <param name="description" value="descriptor_free/ear/dir_deploy asadmin re-deploy"/>
        </antcall>
        <antcall target="redeploy.asadmin"/>
        <antcall target="runclient">
            <param name="log.id" value="2"/>
        </antcall>
        <antcall target="undeploy.asadmin"/>
    </target>

    <target name="clobber" depends="clean">
        <delete dir="${build}"/>
        <delete file="client.log"/>
        <delete file="results.html"/>
        <delete file="tests-results.xml"/>
    </target>

    <target name="usage">
        <antcall target="all"/>
    </target>

</project>
