<!--

    Copyright (c) 2018, 2020 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

-->

<!--
Refer to common-build.xml for property nomenclature guidelines
-->

<!--

@todo

1. all the property names that are set programmatically in this
   file should be changed to follow a naming convention. This
   will make it easier to figure out which variables have been
   set by the test framework
2. remove property names that are obsolete

-->

<property environment="env"/>

<target name="init-common" depends="setToolProperty,setS1ASclassPath">
<!-- Appserver setup properties -->
<echo message="Loading props from file ${env.APS_HOME}/config.properties"
    level="verbose"/>
   <property name="pe" value="Platform Edition of S1AS"/>

   <property file="${env.APS_HOME}/config.properties"/>
   <echo message="admin.domain ${admin.domain}" level="verbose"/>
   <echo message="admin.user ${admin.user}" level="verbose"/>
   <echo message="admin.port ${admin.port}" level="verbose"/>
   <echo message="http.port ${http.port}" level="verbose"/>
   <echo message="http.host ${http.host}" level="verbose"/>

   <echo file="${admin.password.file}" append="false">AS_ADMIN_PASSWORD=${admin.password}
AS_ADMIN_ADMINPASSWORD=${admin.password}
AS_ADMIN_MASTERPASSWORD=${master.password}</echo>

   <property name="as.props"
     value="--user ${admin.user} --passwordfile ${admin.password.file} --host ${admin.host} --port ${admin.port} --echo=true --terse=true"/>

   <property name="authrealmname" value="file"/>
   <property name="apptype" value="application"/>
    <!-- pointbase properties -->
    <property name="db.root" value="${env.S1AS_HOME}/javadb"/>
    <property name="db.dir" value="${env.APS_HOME}/build"/>
    <property name="db.classpath" value="${db.root}/lib/derby.jar:${db.root}/lib/derbyclient.jar:${db.root}/lib/derbynet.jar:${env.APS_HOME}/sqetests/connector/lib/cci-derby-proc.jar"/>

    <property file="${env.APS_HOME}/config/derby.properties"/>

    <!-- set home directory for the AVK   -->
    <property name="javke.home" value="${env.JAVKE_HOME}"/>

    <!-- resource properties -->
    <property name="dest.type" value="queue"/>
    <property name="dest.name" value="Queue"/>
    <property name="jms.factory.name" value="jms/QCFactory"/>
    <property name="jms.factory.type" value="jakarta.jms.QueueConnectionFactory"/>
    <property name="jms.resource.name" value="jms/SampleQueue"/>
    <property name="jms.resource.type" value="jakarta.jms.Queue"/>

    <property name="jdbc.conpool.name" value="ql-jdbc-pool"/>
    <property name="jdbc.resource.name" value="jdbc/s1qeDB"/>
    <property name="jdbc.resource.type" value="javax.sql.DataSource"/>
    <property name="pm.resource.name"   value="jdo/s1qePM" />
    <property name="pm.factory.class"
      value="com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl" />

    <!-- appclient properties -->
    <property name="appclient.application.args" value="" />

    <!-- Test Harnes properties -->
    <property name="build.base.dir"
        value="${env.APS_HOME}/build/module"/>
    <property name="build.webapps.dir"
        value="${env.APS_HOME}/build/wars"/>
    <property name="build.classes.dir"
        value="${build.base.dir}/classes"/>
    <property name="build.assemble.dir"
        value="${build.base.dir}/archive"/>
    <property name="results.dir"
        value="${build.base.dir}/results"/>
    <property name="build.s1astest.classpath"
      value="${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar:${s1as.classpath}:${db.classpath}:${Derby.classpath}"/>
    <property name="ejbjar.classes"
      value="**/*Local*.class,**/*Remote*.class,**/*Home*.class,**/*Bean*.class" />
    <property name="appclientjar.classes"
      value="**/*Local*.class,**/*Remote*.class,**/*Client*.class" />
     <property name="webclient.war.files"
   value="${build.classes.dir}"/>
    <property name="webclient.war.classes"
      value="**/*Servlet*.class"/>

    <property name="test.name" value=""/>
    <property name="test.description" value=""/>
    <property name="test.count" value="1"/>

    <!-- SE/EE specific properties -->
    <property name="cluster.name" value="cluster1"/>
    <property name="clustered.server.name" value="server1"/>
    <property name="clustered.server.name.two" value="server2"/>
    <property name="nodeagent.name" value="agent1"/>
    <property name="das.host" value="localhost"/>
    <property name="das.jmx.port" value="8686"/>
    <property name="http.listener1.port" value="38080"/>
    <property name="http.listener2.port" value="38181"/>
    <property name="orb.listener1.port" value="33700"/>
    <property name="ssl.port" value="33820"/>
    <property name="ssl.mutualauth.port" value="33920"/>
    <property name="jmx.system.connector.port" value="38686"/>
    <property name="http.listener1.port.two" value="38081"/>
    <property name="http.listener2.port.two" value="38182"/>
    <property name="orb.listener1.port.two" value="33701"/>
    <property name="ssl.port.two" value="33821"/>
    <property name="ssl.mutualauth.port.two" value="33921"/>
    <property name="jmx.system.connector.port.two" value="38687"/>
    <property name="cert.nickname" value="s1as"/>
</target>

<target name="setS1ASclassPath" unless="s1as.classpath">
  <path id="s1as_classpath_jars">
    <fileset dir="${env.S1AS_HOME}/lib" includes="*.jar"/>
    <!-- fileset dir="${env.S1AS_HOME}/imq/lib" includes="*.jar"/ -->
  </path>
  <pathconvert pathsep=":"
    property="s1as.classpath"
    refid="s1as_classpath_jars"/>
</target>

<target name="setToolProperty"
  depends="setOSConditions,setToolWin,setToolUnix">
</target>

    <!--
    This was needed to make sure that we can
    differentiate between .exe/.bat for windows and .sh for solaris.
    -->
<target name="setOSConditions">
  <condition property="isUnix">
    <os family="unix"/>
  </condition>

  <condition property="isWindows">
    <os family="windows" />
  </condition>
</target>

<target name="setToolWin" if="isWindows">
  <property name="APPCLIENT" value="${env.S1AS_HOME}/bin/appclient.bat"/>
  <property name="ASADMIN" value="${env.S1AS_HOME}/bin/asadmin.bat"/>
  <property name="ASANT" value="${env.S1AS_HOME}/bin/asant.bat"/>
  <property name="CAPTURESCHEMA"
      value="${env.S1AS_HOME}/bin/capture-schema.bat"/>
  <property name="CHECKPATCH" value="${env.S1AS_HOME}/bin/checkpatch.bat"/>
  <property name="INSTALLPATCH" value="${env.S1AS_HOME}/bin/installpatch.bat"/>
  <property name="JSPC" value="${env.S1AS_HOME}/bin/jspc.bat"/>
  <property name="LISTPATCH" value="${env.S1AS_HOME}/bin/listpatch.bat"/>
  <property name="PACKAGE-APPCLIENT"
      value="${env.S1AS_HOME}/bin/package-appclient.bat"/>
  <property name="VERIFIER" value="${env.S1AS_HOME}/bin/verifier.bat"/>
  <property name="RMIC" value="${env.S1AS_HOME}/jdk/bin/rmic.exe"/>
  <property name="TNAMESERV" value="${env.S1AS_HOME}/jdk/bin/tnameserv.exe"/>

  <property name="WSCOMPILE" value="${env.S1AS_HOME}/bin/wscompile.bat"/>
  <property name="WSIMPORT" value="${env.S1AS_HOME}/bin/wsimport.bat"/>
  <property name="pb.start.server"
      value="${env.S1AS_HOME}/pointbase/server/StartServer.bat"/>
  <property name="pb.start.server1"
      value="${env.S1AS_HOME}/pointbase/server/StartServer1.bat"/>
  <property name="IMQDBMGR" value="${env.S1AS_HOME}/imq/bin/imqdbmgr.bat"/>
 <property name="ld.library.path" location="${env.S1AS_HOME}/lib;${env.S1AS_HOME}/bin"/>
</target>

<target name="setToolUnix" if="isUnix">
  <property name="APPCLIENT" value="${env.S1AS_HOME}/bin/appclient"/>
  <property name="ASADMIN" value="${env.S1AS_HOME}/bin/asadmin"/>
  <property name="ASANT" value="${env.S1AS_HOME}/bin/asant"/>
  <property name="CAPTURESCHEMA" value="${env.S1AS_HOME}/bin/capture-schema"/>
  <property name="CHECKPATCH" value="${env.S1AS_HOME}/bin/checkpatch"/>
  <property name="INSTALLPATCH" value="${env.S1AS_HOME}/bin/installpatch"/>
  <property name="JSPC" value="${env.S1AS_HOME}/bin/jspc"/>
  <property name="LISTPATCH" value="${env.S1AS_HOME}/bin/listpatch"/>
  <property name="PACKAGE-APPCLIENT"
      value="${env.S1AS_HOME}/bin/package-appclient"/>
  <property name="VERIFIER" value="${env.S1AS_HOME}/bin/verifier"/>
  <property name="RMIC" value="${env.S1AS_HOME}/jdk/bin/rmic"/>
  <property name="TNAMESERV" value="${env.S1AS_HOME}/jdk/bin/tnameserv"/>
  <property name="WSCOMPILE" value="${env.S1AS_HOME}/bin/wscompile"/>
  <property name="WSIMPORT" value="${env.S1AS_HOME}/bin/wsimport"/>
  <property name="pb.start.server"
      value="${env.S1AS_HOME}/pointbase/server/StartServer"/>
  <property name="pb.start.server1"
      value="${env.S1AS_HOME}/pointbase/server/StartServer1"/>
  <property name="IMQDBMGR" value="${env.S1AS_HOME}/imq/bin/imqdbmgr"/>
 <property name="ld.library.path" location="${env.S1AS_HOME}/lib:${env.S1AS_HOME}/bin"/>
</target>

<!--
the fixFiles target removes all ^M charectars from the end of
lines of MANIFEST.MF files since they are very sensitive to it.
-->
<target name="fixFiles" depends="setOSConditions" >
  <antcall target="convUnix" />
  <antcall target="convWin" />
</target>
<target name="convUnix" if="isUnix">
  <fixcrlf srcdir="."
    eol="lf" eof="remove"
    includes="**/*.MF" />
  <echo message="fixed files for Unix" level="verbose"/>
</target>

<target name="convWin" if="isWindows">
  <fixcrlf srcdir="."
    eol="crlf" eof="asis"
    includes="**/*.MF" />
  <echo message="fixed files for Windows" level="verbose"/>
</target>

<target name="ee-common" depends="setToolProperty">
</target>
