<!--

    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

-->

<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="assemble.dir"
        value="${build.base.dir}/archive"/>
    <property name="results.dir"
        value="${build.base.dir}/results"/>
    <property name="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,**/*Home*.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}/modules" 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">
  <!--
    Some tests launch app clients by directly running the appclient script,
    using the APPCLIENT property.  Others do so by invoking the
    runclient-common target.

    We use the test script (not appclient) if the user wants to launch
    app clients using Java Web Start.
  -->
  <condition property="APPCLIENT"
    value="${env.APS_HOME}/config/jws-appclient.bat"
    else="${env.S1AS_HOME}/bin/appclient.bat">
        <isset property="use.javaws"/>
  </condition>
  <property name="ASADMIN" value="${env.S1AS_HOME}/bin/asadmin.bat"/>
  <!--<property name="ASADMIN" value="${env.S1AS_HOME}/bin/asadmin"/>-->
  <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="WSGEN" value="${env.S1AS_HOME}/bin/wsgen.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">
  <condition property="APPCLIENT"
    value="${env.APS_HOME}/config/jws-appclient"
    else="${env.S1AS_HOME}/bin/appclient">
        <isset property="use.javaws"/>
  </condition>
  <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="WSGEN" value="${env.S1AS_HOME}/bin/wsgen"/>
  <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>
