<!--

    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

-->

   <path id="class.path">
        <fileset dir="${env.S1AS_HOME}/modules">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${env.S1AS_HOME}/modules/endorsed">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${env.APS_HOME}/lib">
            <include name="**/*.jar"/>
        </fileset>

    </path>

   <path id="run.classpath">
        <fileset dir="${dist}">
          <include name="*.jar"/>
        </fileset>
        <fileset dir="${env.S1AS_HOME}/modules">
         <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${env.S1AS_HOME}/modules/endorsed">
          <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${env.APS_HOME}/lib">
          <include name="**/*.jar"/>
        </fileset>
   </path>



  <target name="build-static" depends="clean,generate-stubs,compile-client,package-client"
     description="Executes the targets needed to build a static stub client.">
  </target>

  <target name="prepare-dist"
     description="Creates the dist directory" >
     <echo message="Creating the required directories...." />
     <mkdir dir="${dist}" />
  </target>

  <target name="generate-stubs"
      description="Runs wscompile to generate the client stub classes">
    <antcall target="run-wscompile">
      <param name="param1" value="-gen:client -d ${build.classes.dir} -classpath ${build.classes.dir} ${config.wsdl.file}"/>
    </antcall>
  </target>


 <target name="compile-client" depends="prepare"
      description="Compiles the client-side source code"  >
      <echo message="Compiling the client source code...."/>
    <javac srcdir="${client.src}" destdir="${build}">
        <include name="**/*.java" />
     <classpath refid="jaxrpc.classpath"/>
     <classpath path="${build}" />
    </javac>
  </target>

  <target name="package-client" depends="prepare-dist"
      description="Builds the JAR file that contains the client">
      <echo message="Building the client JAR  file...."/>
      <delete file="${dist}/${client.jar}" />
      <jar jarfile="${dist}/${client.jar}" >
        <fileset dir="${build}" />
      </jar>
  </target>


 


  
  <target name="clean" >
      <delete dir="${build}" />
      <delete dir="${env.APS_HOME}/build" />
      <delete dir="${dist}" />    
      <delete dir="${assemble}" />
      <delete dir="${assemble.dir}" />
      <delete file="${ear.name}" />
      <delete file="${war.name}" />
      <delete file="${war.file}" />
      <delete file="${client.jar.name}" />
  </target>

  <target name="generate-wsdl"
      description="Runs wscompile to generate the WSDL file and mapping file">
    <antcall target="run-wscompile">
      <param name="param1" value="-define -mapping ${build}/${mapping.file} -keep -d ${build} -nd ${build}  -classpath ${build} ${config.interface.file}"/>
    </antcall>
  </target>

  <target name="run-wscompile"  depends="prepare,set-wscompile"
       description="Runs wscompile">
    <echo message="Running wscompile:"/>
    <echo message="  ${wscompile} ${param1}"/>
    <exec executable="${wscompile}">
       <arg line="${param1}"/>
    </exec>
  </target>

  <target name="set-wscompile" >
     <condition property="wscompile" value="${env.S1AS_HOME}/bin/wscompile.bat">
        <os family="windows"/>
     </condition>
     <condition property="wscompile" value="${env.S1AS_HOME}/bin/wscompile">
        <not>
           <os family="windows"/>
        </not>
     </condition>
  </target>
  <target name="set-asadmin" >
     <condition property="ASADMIN" value="${env.S1AS_HOME}/bin/asadmin.bat">
        <os family="windows"/>
     </condition>
     <condition property="ASADMIN" value="${env.S1AS_HOME}/bin/asadmin">
        <not>
           <os family="windows"/>
        </not>
     </condition>
  </target>




  <target name="prepare" depends="init"
     description="Creates the build directory" >
     <echo message="Creating the required directories...." />
     <mkdir dir="${build}" />
  </target>


  <target name="init" >
    <tstamp/>
    <condition property="stub.file" value="${appname}Client.jar">
        <available file="${appname}Client.jar"/>
    </condition>
    <condition property="deploy.file" value="${assemble.ear}/${ear}">
        <available file="${assemble.ear}/${ear}"/>
    </condition>
    <condition property="deploy.file" value="${assemble.war}/${war.file}">
        <available file="${assemble.war}/${war.file}"/>
    </condition>
    <property name="deploy.file" value="${war.file}"/>

    <condition property="verify.file" value="${assemble.ear}/${ear}">
        <available file="${assemble.ear}/${ear}"/>
    </condition>
    <condition property="verify.file" value="${assemble.war}/${war.file}">
        <available file="${assemble.war}/${war.file}"/>
    </condition>
    <property name="verify.file" value="${war.file}"/>
  </target>



  <path id="db.classpath">
      <fileset dir="${db.root}/lib">
          <include name="*.jar"/>
      </fileset>
  </path>

  <target name="create-db_common"
      depends="init,start-db,delete-db"
      description="Create database tables and populate database." >

      <sql driver="${db.driver}"
          url="${db.url}"
          userid="${db.user}"
          password="${db.password}"
          classpathref="db.classpath"
          delimiter="${db.delimiter}"
          autocommit="false"
          onerror="abort" >
          <transaction src="${sql.script}"/>
      </sql>
  </target>  

  <target name="delete-db"
      description="Deletes the database tables." >

      <sql driver="${db.driver}"
          url="${db.url}"
          userid="${db.user}"
          password="${db.password}"
          classpathref="db.classpath"
          delimiter="${db.delimiter}"
          autocommit="false"
          onerror="continue" >
          <transaction src="${delete.sql.script}"/>
      </sql>
  </target>

  <target name="ping-db"
      description="Checks to see if Derby is running." >
      <java classname="org.apache.derby.drda.NetworkServerControl"
          fork="yes"
          resultproperty="db.ping.result">
          <jvmarg line="${db.jvmargs}" />
          <arg line="ping" />
          <classpath refid="db.classpath" />
      </java>
      <condition property="db.running">
          <equals arg1="${db.ping.result}" arg2="0" />
      </condition>
  </target>
  
  <target name="start-db"
      unless="db.running"
      description="Starts the Derby databse server."
      depends="ping-db">
  				
      <sun-appserv-admin
      explicitcommand="start-database" />
  </target>
  
  <target name="stop-db"
      description="Stops the Derby database server."
      depends="ping-db"
      if="db.running">
      <sun-appserv-admin
      explicitcommand="stop-database" />
  </target>  
  
  <target name="admin_command_common">
      <echo message="Doing admin task ${admin.command}"/>
      <sun-appserv-admin 
      command="${admin.command}"
      user="${admin.user}" 
      passwordfile="${admin.password.file}" 
      host="${admin.host}" 
      port="${admin.port}" 
      asinstalldir="${j2ee.home}" />
  </target>
  
  <target name="create-jdbc-resource_common">
      <antcall target="admin_command_common">
          <param name="admin.command"
          value="create-jdbc-resource 
          --connectionpoolid ${conpool.name} ${jdbc.resource.name}" />
      </antcall>
  </target>

  <target name="delete-jdbc-resource_common">
      <antcall target="admin_command_common">
          <param name="admin.command"
          value="delete-jdbc-resource ${jdbc.resource.name}" />
      </antcall>
  </target>

  <target name="deploy-war">
      <antcall target="admin_command_common">
          <param name="admin.command"
          value="deploy ${war.file}" />
      </antcall>
  </target>

  <target name="undeploy-war">
      <antcall target="admin_command_common">
          <param name="admin.command"
          value="undeploy ${example}" />
      </antcall>
  </target>

  <property environment="env" />

  <target name="build-service" depends="compile-service,generate-wsdl"
     description="Executes the targets needed to build the service.">
  </target>

   <target name="compile-service" depends="prepare"
      description="Compiles the server-side source code">
      <echo message="Compiling the server-side source code...."/>
      <javac
         srcdir="src"
         destdir="${build}"
         includes="**/*.java"
         excludes="**/*Client.java">
         <classpath refid="class.path" />
      </javac>
  </target>


  <target name="listprops"
      description="Displays values of some of the properties of this build file">
      <property file="../../common/admin-password.txt" />

      <echo message="Path information" />
      <echo message="j2ee.home = ${j2ee.home}" />
      <echo message="j2ee.tutorial.home = ${j2ee.tutorial.home}" />
      <echo message="env.Path = ${env.Path}" />
      <echo message="env.PATH = ${env.PATH}" />
      <echo message="" />
      <echo message="Classpath information" />
      <echo message="classpath = ${env.CLASSPATH}" />
      <echo message="" />
      <echo message="Admin information" />
      <echo message="admin.password = ${AS_ADMIN_PASSWORD}" />
      <echo message="admin.password.file = ${admin.password.file}" />
      <echo message="admin.host = ${admin.host}" />
      <echo message="admin.user = ${admin.user}" />
      <echo message="admin.port = ${admin.port}" />
      <echo message="https.port = ${https.port}" />
      <echo message="" />
      <echo message="Domain information" />
      <echo message="domain.resources = ${domain.resources}" />
      <echo message="domain.resources.port = ${domain.resources.port}" />
      <echo message="" />
      <echo message="Database information" />
      <echo message="db.root = ${db.root}" />
      <echo message="db.driver = ${db.driver}" />
      <echo message="db.host = ${db.host}" />
      <echo message="db.port = ${db.port}" />
      <echo message="db.sid = ${db.sid}" />
      <echo message="db.url = ${db.url}" />
      <echo message="db.user = ${db.user}" />
      <echo message="db.pwd = ${db.pwd}" />
      <echo message="url.prop = ${url.prop}" />
      <echo message="ds.class = ${ds.class}" />
      <echo message="db.jvmargs = ${db.jvmargs}" />
  </target>
