<?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="jms-destination-definition-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"/>
    </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-ut" depends="init-common">
        <mkdir dir="${build.classes.dir}"/>
        <javac srcdir="ut" destdir="${build.classes.dir}"
            classpath="${env.APS_HOME}/lib/junit.jar:${s1astest.classpath}"
            debug="on"
            includeantruntime="false"
            failonerror="true"/>
    </target>

    <target name="build-ut" depends="init-common">
        <!-- build a special ear which only includes deployment descriptors-->
        <mkdir dir="${assemble.dir}"/>
        <mkdir dir="${assemble.dir}/temp"/>
        <mkdir dir="${build.classes.dir}/META-INF"/>
        <copy file="${basedir}/descriptor/ut-application.xml" tofile="${build.classes.dir}/META-INF/application.xml"  failonerror="false"/>
        <jar jarfile="${assemble.dir}/${appname}App-UT.ear">
            <fileset dir="${assemble.dir}">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="${build.classes.dir}">
                <include name="META-INF/application.xml"/>
            </fileset>
        </jar>

        <!-- unpack war, jar, ear files, otherwise annotations will not be processed. -->
        <unjar src="${assemble.dir}/${appname}-ejb.jar" dest="${assemble.dir}/temp/${appname}-ejb"/>
        <unjar src="${assemble.dir}/${appname}-web.war" dest="${assemble.dir}/temp/${appname}-web"/>
        <unjar src="${assemble.dir}/${appname}-client.jar" dest="${assemble.dir}/temp/${appname}-appclient"/>
        <unjar src="${assemble.dir}/${appname}App-UT.ear" dest="${assemble.dir}/temp/${appname}-application"/>
    </target>

    <target name="run-ut" depends="compile-ut">
        <junit printsummary="yes" haltonerror="no" haltonfailure="no" fork="true">
            <formatter type="plain" usefile="false"/>
            <jvmarg value="-DtestClasspath=${build.classes.dir}"/>
            <jvmarg value="-DworkDir=${basedir}"/>
            <jvmarg value="-DArchiveDir=${assemble.dir}/temp"/>
            <classpath>
                <pathelement path="${env.APS_HOME}/lib/junit.jar:${s1astest.classpath}"/>
            </classpath>

            <test name="com.sun.s1asdev.jmsdd.ArchiveTest" todir="${basedir}/report"/>
            <test name="com.sun.s1asdev.jmsdd.DDTest" todir="${basedir}/report"/>
        </junit>
    </target>

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

    <target name="build" depends="compile">
        <!--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>

        <antcall target="ear-common"/>

        <antcall target="build-ut"/>
    </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="run-ut"/> -->
        <antcall target="run-it"/>
    </target>

    <target name="run-it" 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>
