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

    Copyright (c) 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 "file:./../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../../config/common.xml">
<!ENTITY commonlazyinit SYSTEM "file:./../common.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>

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

    &commonSetup;
    &commonBuild;
    &commonlazyinit;
    &testproperties;

    <target name="all" depends="pre-start,clean,compile,build,deploy,run,undeploy"/>
    <target name="run-test" depends="clean,compile,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="util"/>
        </antcall>
        <antcall target="compile-common">
            <param name="src" value="ejb"/>
        </antcall>
        <antcall target="compile-common">
            <param name="src" value="client"/>
        </antcall>
    </target>

    <target name="build-ejb-jar" depends="init-common" >
        <antcall target="ejb-jar-common" >
            <param name="ejbjar.classes"
                value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Bean*.class,**/*.dbschema,**/*EJB*.class,**/TradeResult.class,**/ProcessingErrorException.class" />
        </antcall>
    </target>

    <target name="build-appclient-ear" depends="init-common">
        <antcall target="appclient-jar-common" >
            <param name="appclientjar.classes"
                value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Client*.class,**/TradeResult.class,**/ProcessingErrorException.class" />
        </antcall>
        <antcall target="ear-common" />
    </target>

<!--
    Note: The order in which the build targets are called must be so
    that the ear is created before the ejb jar.....
    else the ear will package the ejb jar with it
-->

    <target name="setup"/>
    <target name="unsetup"/>

    <target name="build" depends="init-common">
<!--
        <antcall target="build-appclient-ear" />
-->
        <antcall target="build-ejb-jar"/>
    </target>

    <target name="deploy-ejb-jar" depends="init-common">
    <antcall target="deploy-common">
    <param name="apptype" value="ejb"/>
    <param name="deployed.app" value="${assemble.dir}/${appname}-ejb.jar"/>
    </antcall>
    </target>

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

    <target name="copy-clientjar-restart-server" depends="init-common">
        <copy file="${assemble.dir}/${appname}AppClient.jar"
            todir="${env.S1AS_HOME}/domains/domain1/server/lib" />
        <antcall target="restart-server-instance-common" />
    </target>


    <target name="deploy" depends="init-common">
        <antcall target="deploy-ejb-jar" />
<!--
        <antcall target="deploy-appclient-ear" />
        <antcall target="copy-clientjar-restart-server"/>
-->
    </target>

    <target name="run-acc" depends="init-common" >
        <antcall target="runclient-common"/>
    </target>

    <target name="run-standalone" depends="init-common">
        <property name="ctxfactory" value="org.glassfish.jndi.cosnaming.CNCtxFactory"/>
        <property name="provider.url" value="iiop://${admin.host}:${orb.port}"/>
        <echo message="provider url used is ${provider.url}"/>
        <echo message="ctxfactory used is org.glassfish.jndi.cosnaming.CNCtxFactory" />
        <java classname="examples.sfsb.Client"
            classpath="${s1astest.classpath}:${assemble.dir}/${appname}AppClient.jar"
            failonerror="true" fork="true">
            <arg value="${provider.url}"/>
            <arg value="${ctxfactory}"/>
        </java>
    </target>

    <target name="run" depends="init-common">
        <antcall target="restart-server"/>
        <antcall target="run-standalone" />
    </target>

    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-common">
            <param name="deployedapp.name" value="${appname}-ejb"/>
        </antcall>
    </target>

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