<?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="rosterGenDBSchema" 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="ejbjar.classes"
              value="team/Local*.class, team/League*.class, team/Player*.class, team/Team*.class, util/*.class" />

          <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" />

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