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


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

    &commonSetup;
    &commonBuild;
    &testproperties;

    <target name="all" depends="clean,build, create-resources,deploy,run,undeploy,delete-resources"/>

    <target name="clean" depends="init-common">
      <delete file="${sun-ejb-jar.xml}"/>
      <delete file="${ejb-jar.xml}"/>
      <delete file="${sun-cmp-mappings.xml}"/>
      <antcall  target="clean-common"/>
    </target>

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

    <target name="package-team-jar" >

        <antcall target="package-ejbjar-common">

          <param name="dbschema" value="${basedir}/ejb/team/RosterSchema.dbschema" />
          <param name="ejbjar.classes"
              value="team/Local*.class, team/League*.class, team/Player*.class, team/Team*.class, util/*.class, RosterSchema.dbschema" />

          <param name="ejb-jar.xml" value="${ejb-jar-team.xml}" />
          <param name="sun-ejb-jar.xml" value="${sun-ejb-jar-team.xml}" />
          <param name="sun-cmp-mappings.xml" value="${sun-cmp-mappings-team.xml}" />
          <param name="ejbjar.files" value="${build.classes.dir}" />
          <param name="ejb.jar" value="${assemble.dir}/team-ejb.jar" />

        </antcall>
    </target>

    <target name="package-roster-jar" >

        <antcall target="package-ejbjar-common">

          <param name="ejbjar.classes"
              value="team/Local*.class, team/League.class, team/LeagueHome.class, team/Player.class, team/PlayerHome.class, team/Team.class, team/TeamHome.class,,util/*.class,roster/*.class" />

          <param name="ejb-jar.xml" value="${ejb-jar-roster.xml}" />
          <param name="sun-ejb-jar.xml" value="${sun-ejb-jar-roster.xml}" />
          <param name="ejbjar.files" value="${build.classes.dir}" />
          <param name="ejb.jar" value="${assemble.dir}/roster-ejb.jar" />

        </antcall>
    </target>

    <target name="package-webclient-war" >

        <antcall target="webclient-war-common">
            <param name="hasWebclient" value="true"/>
            <param name="war.classes"
              value="**/RosterServlet.class" />
        </antcall>

    </target>

    <target name="package-appclient" >
        <mkdir dir="${assemble.dir}"/>

        <antcall target="package-appclientjar-common">
           <param name="appclientjar.classes"
              value="**/RosterClient.class, **/Roster.class, **/RosterHome.class, util/*.class" />
           <param name="application-client.xml"
                value="${application-client.xml}" />
           <param name="sun-application-client.xml"
                value="${sun-application-client.xml}" />
           <param name="appclient.jar" value="${assemble.dir}/rosterextAppClient.jar"/>
           <param name="appclientjar.files" value="${build.classes.dir}" />

        </antcall>
    </target>


    <target name="package-ear">

        <delete file="${assemble.dir}/${appname}.ear"/>
        <mkdir dir="${assemble.dir}"/>
        <mkdir dir="${build.classes.dir}/META-INF"/>

        <property name="TEMPDIR" value="${assemble.dir}/TEMPDIR" />

        <mkdir dir="${TEMPDIR}/src" />
        <copy todir="${TEMPDIR}/src" >
            <fileset dir="${basedir}/ejb" />
        </copy>
        <mkdir dir="${TEMPDIR}/src/client" />
        <copy todir="${TEMPDIR}/src/client" file="${basedir}/client/RosterClient.java" />
        <copy todir="${TEMPDIR}/src/client" file="${basedir}/servlet/RosterServlet.java" />

        <copy file="${basedir}/descriptor/INDEX.LIST" todir="${TEMPDIR}/META-INF" failonerror="false"/>

        <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
            <fileset dir="${assemble.dir}">
              <include name="*.jar"/>
              <include name="*.war"/>
            </fileset>
            <fileset dir="${TEMPDIR}" />

            <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
        </ear>
    </target>



    <target name="build" depends="init-common, compile">
        <mkdir dir="${assemble.dir}"/>
        <antcall target="package-team-jar" />
        <antcall target="package-roster-jar" />
        <antcall target="package-webclient-war" />
        <antcall target="package-appclient" />

        <antcall target="package-ear" />


    </target>



    <target name="deploy"
            depends="init-common">
        <antcall target="execute-ejb-sql-common">
            <param name="sql.file" value="${basedir}/sql/RosterApp_derby.sql"/>
        </antcall>
        <antcall target="deploy-common"/>
    </target>

   <target name="create-resources" depends="init-common">
        <antcall target="asadmin-batch-common">
          <param name="asadmin.file" value="${basedir}/../common/create_resources.asadmin"/>
        </antcall>
    </target>

    <target name="delete-resources" depends="init-common">
        <antcall target="asadmin-batch-common">
          <param name="asadmin.file" value="${basedir}/../common/delete_resources.asadmin"/>
        </antcall>
    </target>


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

    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-common"/>
           <antcall target="execute-ejb-sql-common">
            <param name="sql.file" value="${basedir}/sql/drop_RosterApp_derby.sql"/>
        </antcall>
    </target>

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