<?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 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;
    &jbicommon;
    &jbiproperties;
    &testproperties;
    <property environment="env" />
    <target name="all" depends="clean, setup, compile, ear, deploy, runclient, 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>
<!--
            <fileset dir=".">
                <include name="FIMapping.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="IntrWebMapping.xml" />
            </fileset>

<!--
            <fileset dir=".">
                <include name="FIMappingWeb.xml" />
            </fileset>
-->
            <fileset dir="${build.webinf}">
                <include name="**/web.xml" />
                <include name="**/sun-web.xml" />
                <include name="**/webservices.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=".">
                <include name="FIMappingClient.xml" />
            </fileset>
-->

            <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="myweb/*.class"/>
          </fileset>
        </copy>
    </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"/>-->
            <fileset dir="${build.jars}" includes="*.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>
        <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>
        <antcall target="undeploy-jbi-component-su"/>
    </target>

   <target name="runclient" depends="setup">
    <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>

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

  </target>
  <!--<target name="deploy-soap-su" depends="init-common">
      <antcall target="deploy-jbi-component-su">
          <param name="jbi-component-su" value="${}"/>
          <param name="jbi-component-su" value="${}"/>
      </antcall>
  </target>-->
<!--  <target name="all" depends="clean,ear,deploy,runclient" />-->

</project>
