<?xml version="1.0" encoding="ISO-8859-1"?>
<!--

    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

-->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "../../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../../../../config/common.xml">
<!ENTITY jbicommon SYSTEM "file:./../../jbi_commons.xml">
<!ENTITY jbiproperties SYSTEM "file:./../../jbi_commons.properties">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>

<!-- targets: clean, setup, compile, jar, war, ear, deploy, undeploy, runclient   -->

<project name="findintr" default="all" basedir=".">

    &commonSetup;
    &commonBuild;
    &jbicommon;
    &jbiproperties;
    &testproperties;
    <property environment="env" />
    <target name="all" depends="clean, setup, compile, ear, deploy, run-servlet-invoker, undeploy"/>
    <target name="setup" depends="init-common">
        <property name="root.dir" value="." />
        <property name="src.dir" value="." />
        <property name="appname" value="FindInterestApp" />

        <property name="build.dir" value="${env.APS_HOME}/build/module" />
        <property name="build.repository" value="${build.dir}/buildears"/>
        <property name="build.appclient" value="${build.dir}/buildappclient"/>
        <property name="build.ejbsrc" value="${build.dir}/src/ejb" />
        <property name="build.websrc" value="${build.dir}/src/web" />
        <property name="build.clientsrc" value="${build.dir}/src/client" />

        <property name="build.dest" value="${build.dir}/classes" />
        <property name="build.mapping" value="${build.dir}/jaxrpc-mapping" />
        <property name="build.desc" value="${build.dir}/descriptor" />
        <property name="build.webinf" value="${build.dir}/webinf" />
        <property name="build.metainf" value="${build.dir}/metainf" />
        <property name="build.jars" value="${build.dir}/jars" />
        <property name="build.ear" value="${build.repository}/"/>

        <property name="debug" value="on" />
    </target>

    <target name="clean" depends="setup">
        <delete dir="${build.dir}"/>
        <delete dir="${build.repository}"/>
        <delete dir="${build.appclient}"/>
    </target>

    <!-- target name="compile" depends="setup,clean" -->
    <target name="compile" depends="wscompile,setup" >
        <!-- ant target="makedirs"/ -->
        <!-- ant target="copyfiles"/ -->
        <javac srcdir="${build.ejbsrc}" destdir="${build.dest}"
            debug="${debug}" classpath="${s1astest.classpath}" />
        <javac srcdir="${build.websrc}" destdir="${build.dest}"
            debug="${debug}" classpath="${s1astest.classpath}" />
        <javac srcdir="${build.clientsrc}" destdir="${build.dest}"
            debug="${debug}" classpath="${s1astest.classpath}" />
    </target>

    <target name="jar" depends="compile">
        <jar jarfile="${build.jars}/ejb.jar" >
            <fileset dir="${build.dest}">
                <include name="myejb/*.class"/>
            </fileset>

            <fileset dir="${build.mapping}">
                <include name="IntrEjbMapping.xml" />
            </fileset>
            <metainf dir="${build.desc}/ejb">
                <include name="ejb-jar.xml"/>
                <include name="webservices.xml"/>
                <include name="sun-ejb-jar.xml"/>
            </metainf>
            <fileset dir="${build.metainf}">
                <include name="**/FindInterest.wsdl" />
                <include name="**/FindInterest_Schema.xsd" />
            </fileset>
        </jar>

        <antcall target="copy-to-webinf" />

        <jar jarfile="${build.jars}/web.war" >
            <fileset dir="${build.webinf}">
                <include name="**/*.class"/>
            </fileset>
            <fileset dir="${build.mapping}">
                <include name="IntrClientMapping.xml" />
            </fileset>


            <fileset dir="${build.webinf}">
                <include name="**/web.xml" />
                <include name="**/sun-web.xml" />
                <include name="**/FindInterest.wsdl" />
                <include name="**/FindInterest_Schema.xsd" />
            </fileset>
        </jar>

        <jar jarfile="${build.jars}/appclient.jar"
             manifest="${build.desc}/client/MANIFEST.MF">

            <fileset dir="${build.mapping}">
                <include name="IntrClientMapping.xml" />
            </fileset>

            <fileset dir="${build.dest}">
                <include name="myclient/*.class"/>
            </fileset>
            <metainf dir="${build.desc}/client">
                <include name="application-client.xml"/>
                <include name="sun-application-client.xml"/>
            </metainf>
            <fileset dir="${build.metainf}">
                <include name="**/FindInterest.wsdl" />
                <include name="**/FindInterest_Schema.xsd" />
            </fileset>
        </jar>
    </target>

    <target name="copy-to-webinf">
        <copy  todir="${build.webinf}/WEB-INF/classes" filtering="on" overwrite="yes"  >
          <fileset dir="${build.dest}">
            <include name="myclient/*.class"/>
          </fileset>
        </copy>
      <unjar src="${env.APS_HOME}/lib/reporter.jar" dest="${build.webinf}/WEB-INF/classes"/>
    </target>

    <target name="ear" depends="clean,jar">
        <ear earfile="${build.ear}/${appname}.ear"
             appxml="${build.desc}/application.xml"
             manifest="${build.desc}/MANIFEST.MF">

            <fileset dir="${build.jars}" includes="*.jar,*.war" excludes="ejb.jar"/>

            <fileset dir="${env.APS_HOME}/lib">
                <include name="reporter.jar"/>
            </fileset>
        </ear>
    </target>

    <target name="deploy" depends="setup">
        <exec executable="${ASADMIN}">
            <arg value="deploy" />
            <arg value="--user" />
            <arg value="${admin.user}" />
            <arg value="--host" />
            <arg value="${admin.host}" />
            <arg value="--port" />
            <arg value="${admin.port}" />
            <arg value="--retrieve" />
            <arg value="${build.appclient}" />
            <arg value="${build.ear}/${appname}.ear" />
        </exec>
        <exec executable="${ASADMIN}">
            <arg value="deploy" />
            <arg value="--user" />
            <arg value="${admin.user}" />
            <arg value="--host" />
            <arg value="${admin.host}" />
            <arg value="--port" />
            <arg value="${admin.port}" />
            <arg value="--retrieve" />
            <arg value="${build.appclient}" />
            <arg value="${build.jars}/ejb.jar" />
        </exec>
<antcall target="configure-webservice-management"/>
        <antcall target="asadmin-common">
            <param name="admin.command" value="set"/>
            <param name="operand.props" value="server.applications.ejb-module.ejb.web-service-endpoint.InterestIFPort.jbi-enabled=false"/>
        </antcall>

        <antcall target="deploy-jbi-component-su"/>
    </target>

    <target name="undeploy" depends="setup">
        <exec executable="${ASADMIN}">
            <arg value="undeploy" />
            <arg value="--user" />
            <arg value="${admin.user}" />
            <arg value="--host" />
            <arg value="${admin.host}" />
            <arg value="--port" />
            <arg value="${admin.port}" />
            <arg value="${appname}" />
        </exec>
        <exec executable="${ASADMIN}">
            <arg value="undeploy" />
            <arg value="--user" />
            <arg value="${admin.user}" />
            <arg value="--host" />
            <arg value="${admin.host}" />
            <arg value="--port" />
            <arg value="${admin.port}" />
            <arg value="ejb" />
        </exec>

        <antcall target="undeploy-jbi-component-su"/>
    </target>

   <target name="runclient" depends="setup">
       <echo message="Executing an appclient"/>
       <exec executable="${APPCLIENT}">
            <env key="VMARGS" value="-Dtest.results=${results.file}" />
            <arg value="-client" />
            <arg value="${build.appclient}/${appname}Client.jar"/>
            <arg value="-name" />
            <arg value="MyAppClient" />
       </exec>
   </target>

    <target name="makedirs">
        <mkdir dir="${build.dir}" />
        <mkdir dir="${build.repository}" />
        <mkdir dir="${build.appclient}" />
        <mkdir dir="${build.ejbsrc}" />
        <mkdir dir="${build.websrc}" />
        <mkdir dir="${build.clientsrc}" />
        <mkdir dir="${build.dest}" />
        <mkdir dir="${build.mapping}" />
        <mkdir dir="${build.desc}" />
        <mkdir dir="${build.desc}/META-INF"/>
        <mkdir dir="${build.desc}/ejb"/>
        <mkdir dir="${build.desc}/client"/>
        <mkdir dir="${build.jars}" />
        <mkdir dir="${build.webinf}" />
        <mkdir dir="${build.webinf}/WEB-INF" />
        <mkdir dir="${build.webinf}/WEB-INF/wsdl" />
        <mkdir dir="${build.webinf}/WEB-INF/classes" />
        <mkdir dir="${build.metainf}" />
        <mkdir dir="${build.metainf}/META-INF" />
        <mkdir dir="${build.metainf}/META-INF/wsdl" />
        <mkdir dir="${build.dir}/archive"/>
    </target>

    <target name="copyfiles">

        <copy  todir="${build.webinf}/WEB-INF" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/descriptor/web" >
                <include name="*.xml" />
            </fileset>
        </copy>

        <copy  todir="${build.desc}/ejb" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/descriptor/ejb" >
                <include name="*.xml" />
            </fileset>
        </copy>

        <copy  todir="${build.desc}/client" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/descriptor/client" >
                <include name="*.xml" />
                <include name="MANIFEST.MF" />
            </fileset>
        </copy>

        <copy  todir="${build.desc}" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/descriptor" >
                <include name="application.xml" />
                <include name="MANIFEST.MF" />
            </fileset>
        </copy>

        <copy  todir="${build.desc}/META-INF" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/descriptor">
                <include name="sun-j2ee-ri.xml" />
            </fileset>
        </copy>

        <copy  todir="${build.ejbsrc}" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/ejb" >
                <include name="**/*.java" />
            </fileset>
        </copy>

        <copy  todir="${build.websrc}" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/web" >
                <include name="**/*.java" />
            </fileset>
        </copy>

        <copy  todir="${build.clientsrc}" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}/client" >
                <include name="**/*.java" />
            </fileset>
        </copy>

        <copy  todir="${build.webinf}/WEB-INF/wsdl" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}" >
                <include name="FindInterest.wsdl" />
                <include name="FindInterest_Schema.xsd" />
            </fileset>
        </copy>

        <copy  todir="${build.metainf}/META-INF/wsdl" filtering="on" overwrite="yes"  >
            <fileset dir="${src.dir}" >
                <include name="FindInterest.wsdl" />
                <include name="FindInterest_Schema.xsd" />
            </fileset>
        </copy>

    </target>

    <target name="wscompile" depends="setup,makedirs,copyfiles">

    <exec executable="${WSCOMPILE}">
        <arg line="-source 1.1.2 -import -f:norpcstructures -keep -d ${build.dest} -s ${build.dest} -mapping ${build.mapping}/IntrEjbMapping.xml wscompile_config.xml
" />
    </exec>

    <exec executable="${WSCOMPILE}">
        <arg line="-source 1.1.2 -import -f:norpcstructures -keep -d ${build.dest} -s ${build.dest} -mapping ${build.mapping}/IntrClientMapping.xml wscompile_config_client.xml
" />
    </exec>

  </target>

    <target name="run-servlet-invoker" depends="init-common, compile">
      <echo message="Executing a Servlet invoker"/>
      <unjar src="${env.APS_HOME}/lib/reporter.jar" dest="${build.dest}"/>

<java classname="myclient.ServletInvoker">
        <classpath>
          <pathelement path="${build.dest}"/>
        </classpath>
        <arg value="http://${http.host}:${http.port}/FindInterestServlet/FindInterestClient"/>
      </java>
    </target>
    <target name="configure-webservice-management" depends="init-common">
      <antcall target="asadmin-common">
        <param name="admin.command" value="configure-webservice-management"/>
        <param name="operand.props" value="ejb#InterestIFPort"/>
      </antcall>
    </target>

<!--  <target name="all" depends="clean,ear,deploy,runclient" />-->
</project>
