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

<project name="security-sameEjbName" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;
    &commonSecurity;

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

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

    <target name="setup" depends="init-common">
        <antcall target="create-user-common">
            <param name="user" value="javaee"/>
            <param name="password" value="javaee"/>
            <param name="groups" value="javaee"/>
        </antcall>
    </target>

    <target name="unsetup" depends="init-common">
        <antcall target="delete-user-common">
            <param name="user" value="javaee"/>
        </antcall>
    </target>

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

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

        <antcall target="package-ejbjar-common">
            <param name="ejbjar.files" value="${build.classes.dir}"/>
            <param name="ejb.jar" value="${assemble.dir}/${appname}-ejb.jar"/>
            <param name="ejbjar.classes" value="com/sun/**/ejb/*.class"/>
            <param name="sun-ejb-jar.xml" value="${sun-ejb-jar.xml}"/>
        </antcall>
        <antcall target="package-ejbjar-common">
            <param name="ejbjar.files" value="${build.classes.dir}"/>
            <param name="ejb.jar" value="${assemble.dir}/${appname}-ejb2.jar"/>
            <param name="ejbjar.classes" value="com/sun/**/ejb2/*.class"/>
            <param name="sun-ejb-jar.xml" value="${sun-ejb-jar2.xml}"/>
        </antcall>

        <antcall target="package-appclientjar-common">
            <param name="appclientjar.files" value="${build.classes.dir}"/>
            <param name="appclient.jar"
                value="${assemble.dir}/${appname}-client.jar"/>
            <param name="appclientjar.classes"
                value="com/sun/**/client/*.class,com/sun/**/ejb/Hello.class,com/sun/**/ejb2/Hello.class"/>
        </antcall>

        <copy file="${sun-application.xml}" tofile="${build.classes.dir}/META-INF/sun-application.xml" failonerror="false"/>
        <jar jarfile="${assemble.dir}/${appname}App.ear">
            <fileset dir="${assemble.dir}">
               <include name="*.jar"/>
               <include name="*.war"/>
            </fileset>
            <fileset dir="${build.classes.dir}">
               <include name="META-INF/sun-application.xml"/>
            </fileset>
            <fileset dir="${env.APS_HOME}" includes="lib/reporter.jar"/>
        </jar>
    </target>

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

    <target name="run" depends="init-common">
        <exec executable="${APPCLIENT}">
            <arg line="-client" />
            <arg line="${assemble.dir}/${appname}AppClient.jar"/>
            <arg line="-texauth"/>
            <arg line="-user" />
            <arg line="javaee" />
            <arg line="-password" />
            <arg line="javaee" />
        </exec>
    </target>

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

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