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

    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

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
<!ENTITY testproperties SYSTEM "./build.properties">
]>

<project name="cdi-full-ear-App" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;

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

    <target name="clean" depends="init-common">
      <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="ejb"/>
        </antcall>

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

            <javac classpath="${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar" srcdir="client" destdir="${build.classes.dir}" debug="on" failonerror="true">
        </javac>
    </target>

    <target name="build" depends="compile">
        <mkdir dir="${assemble.dir}"/>

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

        <!-- build library jar -->
        <mkdir dir="${build.classes.dir}/META-INF"/>
        <copy file="${persistence.xml}"
              tofile="${build.classes.dir}/META-INF/persistence.xml"
              failonerror="false"/>
        <copy file="${beans.xml}"
              tofile="${build.classes.dir}/META-INF/beans.xml"
              failonerror="false"/>

        <mkdir dir="${build.classes.dir}/lib-dir"/>

        <jar jarfile="${build.classes.dir}/lib-dir/lib.jar" basedir="${build.classes.dir}" includes="com/acme/util/*.class">
          <metainf dir="${build.classes.dir}/META-INF">
            <include name="persistence.xml"/>
            <include name="beans.xml"/>
          </metainf>
        </jar>

        <!-- build war -->
        <!-- must remove ejb classes and lib classes first -->
        <delete file="${build.classes.dir}/META-INF/beans.xml"/>
        <delete dir="${build.classes.dir}/com/acme/ejb"/>
        <delete dir="${build.classes.dir}/com/acme/util"/>
        <antcall target="webclient-war-common">
          <param name="hasWebclient" value="true"/>
        </antcall>

        <copy file="${env.APS_HOME}/lib/reporter.jar" todir="${build.classes.dir}/lib-dir"/>

        <delete file="${assemble.dir}/${appname}.ear"/>
        <mkdir dir="${assemble.dir}"/>
        <mkdir dir="${build.classes.dir}/META-INF"/>
        <copy file="${sun-application.xml}" tofile="${build.classes.dir}/META-INF/sun-application.xml"          failonerror="false"/>
        <copy file="${glassfish-resources-ear.xml}" tofile="${build.classes.dir}/META-INF/glassfish-resources.xml" failonerror="false"  filtering="true"/>
        <ear earfile="${assemble.dir}/${appname}App.ear"
             appxml="${application.xml}" >
          <fileset dir="${assemble.dir}">
            <include name="*.jar"/>
            <include name="*.war"/>
          </fileset>
          <fileset dir="${build.classes.dir}">
                <include name="META-INF/sun-application.xml"/>
            <include name="META-INF/glassfish-resources.xml"/>
          </fileset>
<!--
    <fileset dir="${env.APS_HOME}" includes="lib/reporter.jar"/>
-->
    <fileset dir="${build.classes.dir}" includes="lib-dir/*"/>
  </ear>

    </target>

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

    <target name="run" depends="init-common">
       <java  fork="on"
              failonerror="true"
              classpath="${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
              classname="${se.client}">
           <arg line="${contextroot}"/>
           <arg line="${http.host}"/>
           <arg line="${http.port}"/>
        </java>
    </target>

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

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