<?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">
<!ENTITY run SYSTEM "./../../../config/run.xml">
]>

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

    &commonSetup;
    &commonBuild;
    &testproperties;
    &run;

    <target name="all" depends="build,setup,deploy,run,unsetup,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" depends="compile">
      <mkdir dir="${assemble.dir}"/>
      <antcall target="package-roster-jar"/>
      <antcall target="package-team-jar"/>
      <antcall target="appclient-jar-common"/>
      <antcall target="package-ear"/>
    </target> 
    <target name="package-roster-jar">
      <antcall target="package-ejbjar-common">
        <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="ejbjar.classes" 
          value="**/LeagueDetails.class,**/PlayerDetails.class,
            **/TeamDetails.class,**/*Roster*.class,**/Debug.class"/>
        <param name="ejb.jar" value="${assemble.dir}/${appname}-ejb.jar"/>
      </antcall>
    </target> 

    <target name="package-team-jar">
      <antcall target="package-ejbjar-common">
        <param name="ejb-jar.xml" value="${ejb-jar-team.xml}"/>
        <param name="sun-ejb-jar.xml" value="${sun-ejb-jar-team.xml}"/>
        <param name="ejbjar.files" value="${build.classes.dir}"/>
        <param name="ejbjar.classes" 
          value="**/*League*.class,**/*Player*.class,**/*Team*.class,**/Debug.class,**/*dbschema*" />
        <param name="ejb.jar" value="${assemble.dir}/${appname}-team-ejb.jar"/>
      </antcall>
    </target> 

    <target name="package-ear">
      <delete file="${assemble.dir}/${appname}.ear"/>
      <mkdir dir="${assemble.dir}"/>
      <mkdir dir="${build.classes.dir}/META-INF"/>    
      <ear earfile="${assemble.dir}/${appname}App.ear" appxml="${application.xml}">
        <fileset dir="${assemble.dir}">
          <include name="*.jar"/>
        </fileset>
        <fileset dir="${env.APS_HOME}/lib" includes="reporter.jar"/>
      </ear>        
    </target>

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

    <target name="setup" depends="init-common">
    <!-- Create the ORACLE connection pool connection pool and datasource -->
      <antcall target="create-jdbc-connpool-common">
        <param name="jdbc.resource.type" value="javax.sql.DataSource"/>
        <param name="jdbc.conpool.name" value="${poolname}"/>
	<param name="db.class" value="oracle.jdbc.pool.OracleDataSource"/>
	<param name="db.user" value="${ora.user}"/>
	<param name="db.pwd" value="${ora.passwd}"/>
	<param name="db.url" value="${ora.sid}"/>
      </antcall>
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.property.Port=1521"/>
      </antcall>
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.property.URL=${ora.url}"/>
      </antcall>
      
      <antcall target="asadmin-common">
        <param name="admin.command" value="set"/>
        <param name="operand.props" value="${resources.dottedname.prefix}.jdbc-connection-pool.${poolname}.property.ServerName=129.158.229.239"/>
      </antcall>


      <antcall target="create-jdbc-resource-common">
        <param name="jdbc.conpool.name" value="${poolname}"/>
        <param name="jdbc.resource.name" value="jdbc/s1qeDB-stress-cmp"/>
      </antcall>

      <antcall target="create-persistence-resource-common">
        <param name="pm.resource.name" value="jdo/s1qePM-stress-cmp"/>
	<param name="jdbc.resource.name" value="jdbc/s1qeDB-stress-cmp"/>
      </antcall>

      <antcall target="create-tables"/>
    </target>

    <target name="create-tables">
      <echo message="Executing sql from ${sql.file}"/>
      <sql
        src="sql/create_pointbase.sql"
	driver="oracle.jdbc.driver.OracleDriver"
	userid="${ora.user}"
	password="${ora.passwd}"
	url="${ora.url}"
	classpath="${classes12.zip}"
	onerror="continue"
	print="yes"
      />
      
    </target>
    
    <target name="run" depends="init-common">
      <antcall target="create-tables"/>
      <antcall target="runclient-common"/>
    </target>

    <target name="undeploy" depends="init-common">
      <antcall target="undeploy-common"/>
    </target>
    
    <target name="drop-tables">
      <echo message="Executing sql from ${sql.file}"/>
      <sql
        src="sql/drop_pointbase.sql"
	driver="oracle.jdbc.driver.OracleDriver"
	userid="${ora.user}"
	password="${ora.passwd}"
	url="${ora.url}"
	classpath="${classes12.zip}"
	onerror="continue"
	print="yes"
      />
    </target>

    <target name="unsetup" depends="init-common">
      <antcall target="delete-persistence-resource-common">
        <param name="pm.resource.name" value="jdo/s1qePM-stress-cmp"/>
      </antcall>
      <antcall target="delete-jdbc-resource-common"> 
        <param name="jdbc.resource.name" value="jdbc/s1qeDB-stress-cmp"/>
      </antcall>
      <antcall target="delete-jdbc-connpool-common"> 
        <param name="jdbc.conpool.name" value="${poolname}"/>
      </antcall>
      <antcall target="drop-tables"/>
    </target>   
    <target name="usage">
        <antcall target="usage-common"/>
    </target>

</project>
