<?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">
                <!-- compile library -->
                <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}" />

                <!-- 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, com/acme/ejb/api/*.class">
                        <metainf dir="${build.classes.dir}/META-INF">
                                <include name="persistence.xml" />
                                <include name="beans.xml" />
                        </metainf>
                </jar>
                <copy file="${env.APS_HOME}/lib/reporter.jar" todir="${build.classes.dir}/lib-dir" />

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

                <!-- delete EJB impl and lib classes as WAR should not have them -->
                <delete includeEmptyDirs="true">
                        <fileset dir="${build.classes.dir}/com/acme/ejb/" />
                        <fileset dir="${build.classes.dir}/com/acme/util/" />
                </delete>

                <!-- create WAR -->
                <antcall target="webclient-war-common">
                        <param name="hasWebclient" value="true" />
                </antcall>

                <!-- assemble EAR -->
                <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="${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>
