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

    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

-->

<!ENTITY commonSetup SYSTEM "file:./../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../../../config/common.xml">
<!ENTITY commonSecurity SYSTEM "file:../../common.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>

<project name="security-wss-sslclientcert" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;
    &commonSecurity;

    <target name="all" depends="clean, setup, build-deploy, run, undeploy, unsetup"/>

    <target name="clean" depends="init-common">
      <antcall target="clean-common"/>
    </target>

    <target name="setup" depends="init-common">
	<!-- exports certdb stuff and imports into keystore -->
	<antcall target="prepare-store-nickname-common">
            <param name="cert.nickname" value="s1as"/>
        </antcall>
    </target>

    <target name="unsetup" depends="init-common">
    </target>

    <target name="compile-server" depends="clean">
        <antcall target="compile-common">
            <param name="src" value="ejbws"/>
            <param name="build.classes.dir" value="${build.classes.dir}/ejbws"/>
        </antcall>
        <antcall target="compile-common">
            <param name="src" value="servletws"/>
            <param name="build.classes.dir" value="${build.classes.dir}/servletws"/>
        </antcall>
    </target>

    <target name="compile-client" depends="init-common, init-security-util">
        <mkdir dir="${build.classes.dir}/client"/> 
        <antcall target="wsimport">
            <param name="wsimport.VMARGS" value=" -Djavax.net.ssl.trustStore=${mytruststore.db.file} -Djavax.net.ssl.trustStorePassword=${ssl.password}"/>
            <param name="wsimport.args"
                value="-keep -d ${build.classes.dir}/client https://${s1asCN}:${https.port}/WssSslClientCertEjbService/HelloEjb?WSDL"/>
        </antcall>
        <antcall target="wsimport">
            <param name="wsimport.VMARGS" value=" -Djavax.net.ssl.trustStore=${mytruststore.db.file} -Djavax.net.ssl.trustStorePassword=${ssl.password}"/>
            <param name="wsimport.args"
                value="-keep -d ${build.classes.dir}/client https://${s1asCN}:${https.port}/security-wss-sslclientcert/webservice/WssSslClientCertServletService/HelloServlet?WSDL"/>
        </antcall>

        <delete file="client/Client.java" failonerror="false"/>
        <copy file="client/Client.java.template" tofile="client/Client.java"/>
        <replace file="client/Client.java">
            <replacefilter token="@HOST@" value="${s1asCN}"/>
            <replacefilter token="@PORT@" value="${https.port}"/>
        </replace>
        <javac srcdir="client" destdir="${build.classes.dir}/client"
            classpath="${env.APS_HOME}/lib/reporter.jar:${env.S1AS_HOME}/lib/j2ee.jar:${env.S1AS_HOME}/lib/webservices-rt.jar:${env.S1AS_HOME}/lib/webservices-tools.jar:${build.classes.dir}/client" debug="on" failonerror="true"/>
    </target>

    <target name="build-server" depends="compile-server, init-security-util">
        <mkdir dir="${assemble.dir}"/>
        <mkdir dir="${build.classes.dir}/META-INF"/> 

        <antcall target="package-ejbjar-common">
            <param name="ejbjar.files" value="${build.classes.dir}/ejbws"/>
            <param name="ejb.jar" value="${assemble.dir}/${appname}-ejb.jar"/>
            <param name="ejbjar.classes" value="com/sun/**/*.class"/>
        </antcall>

        <antcall target="package-war-common">
            <param name="war.classes" value="${build.classes.dir}/servletws"/>
            <param name="war.file" value="${assemble.dir}/${appname}-web.war"/>
        </antcall>

        <copy file="descriptor/sun-application.xml.template" tofile="${build.classes.dir}/META-INF/sun-application.xml"/>
        <replace file="${build.classes.dir}/META-INF/sun-application.xml">
            <replacefilter token="@HOST@" value="${s1asCN}"/>
        </replace>
        <copy file="${application.xml}" tofile="${build.classes.dir}/META-INF/application.xml" failonerror="false"/> 
        <jar jarfile="${assemble.dir}/${appname}App.ear"> 
            <fileset dir="${assemble.dir}">
               <include name="*.jar"/>
               <include name="*.war"/>
            </fileset>
            <fileset dir="${build.classes.dir}">
	       <include name="META-INF/application.xml"/>
	       <include name="META-INF/sun-application.xml"/>
            </fileset>
        </jar>   
    </target>

    <target name="build-client" depends="compile-client">
        <mkdir dir="${assemble.dir}"/>

        <unjar src="${env.APS_HOME}/lib/reporter.jar" dest="${build.classes.dir}/client"/>
        <antcall target="package-appclientjar-common">
            <param name="appclientjar.files" 
                value="${build.classes.dir}/client"/>
            <param name="appclient.jar" 
                value="${assemble.dir}/${appname}-client.jar"/>
            <param name="appclientjar.classes" 
                value="com/sun/**/*.class"/>
        </antcall>
    </target>

    <target name="build-deploy" depends="init-common">
        <antcall target="build-server"/>
        <antcall target="deploy-common"/>
        <antcall target="build-client"/>
        <antcall target="deploy-client-common"/>
    </target>

    <target name="run" depends="init-common">
        <exec executable="${APPCLIENT}">
        <env key="VMARGS" value=" -Djavax.net.ssl.trustStore=${mytruststore.db.file} -Djavax.net.ssl.trustStorePassword=${ssl.password} -Djavax.net.ssl.keyStore=${mykeystore.db.file} -Djavax.net.ssl.keyStorePassword=${ssl.password}"/>
            <arg line="-client" />
            <arg line="${assemble.dir}/${appname}-clientClient.jar"/>
            <arg line="-texauth"/>
            <arg line="-user" />
            <arg line="dummy" />
            <arg line="-password" />
            <arg line="dummy" />
        </exec>
    </target>

    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-common"/>
        <antcall target="undeploy-client-common"/>
    </target>

    <target name="usage">
        <antcall target="usage-common"/>
    </target>
</project>
