<?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 commonSetup SYSTEM "./../../../../config/properties.xml">
        <!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
        <!ENTITY testproperties SYSTEM "./build.properties">
        ]>

<project name="admin-object-definition-embedra-App" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="build,setup,deploy,run,unsetup,undeploy"/>

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

    <target name="info" depends="init-common">
            <echo message="build.classes.dir is ${build.classes.dir}"/>
            <echo message="s1astest.classpath is ${s1astest.classpath}"/>
    </target>

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

    <target name="build" depends="compile">
              <echo message="assemble.dir = ${assemble.dir}"/>
        <!--build and package .war first so it doesn't contain ejb bean !-->
        <!--classes that have @Stateless/@Stateul !-->
        <antcall target="webclient-war-common">
            <param name="hasWebclient" value="true"/>
        </antcall>

        <antcall target="compile-common">
            <param name="src" value="ejb"/>
        </antcall>
        <antcall target="compile-common">
            <param name="src" value="client"/>
        </antcall>

        <antcall target="appclient-jar-common">
            <param name="appclientjar.classes"
                   value="**/*Client*.class"/>
        </antcall>

        <antcall target="ejb-jar-common">
            <param name="ejbjar.classes"
                   value="**/Hello**.class"/>
        </antcall>

        <ant dir="ra" target="all"/>

        <delete file="${assemble.dir}/${appname}.ear"/>
        <mkdir dir="${assemble.dir}"/>
        <mkdir dir="${build.classes.dir}/META-INF"/>

        <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
          <fileset dir="${assemble.dir}">
          <include name="*.jar"/>
          <include name="*.war"/>
          </fileset>
          <fileset dir="ra/">
            <include name="*.rar"/>
          </fileset>
        </ear>

    </target>

    <target name="setup" depends="init-common">
    </target>

    <target name="unsetup" depends="init-common">
    </target>

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

    </target>

    <target name="run" depends="init-common">
        <antcall target="runclient-common">
            <param name="appclient.application.args" value="${http.host} ${http.port}"/>
        </antcall>
    </target>

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

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