<!--

    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>
