#!/bin/bash -ex
#
# Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
#

# service id: ${serviceId}
# stage: ${stage}
L_STATUS=0

if [ "$G_STATUS" = "1" ]; then
    return 1
fi;

TOTAL_STEPS=$((TOTAL_STEPS+1))

export CTX=${serviceId}:${stage}-deploy

. shared

prolog $CTX

export SVC_DIR=${serviceDirectory}

mkdirp services/$SVC_DIR/war/WEB-INF/wsdl/

<#if wsdlDocs??>
    <#list wsdlDocs as doc>
cpwsdl ../src/$SVC_DIR ${doc}
    </#list>
</#if>

<#if wsdlDocsFromJava??>
    <#list wsdlDocsFromJava as doc>
cpwsdl services/$SVC_DIR/war/WEB-INF/wsdl ${doc}
    </#list>
</#if>

<#if wsdlLocation??>
cpwsdl ../src/$SVC_DIR ${wsdlLocation}
cpwsdl ../src/$SVC_DIR sun-jaxws.xml
</#if>

# handlers.xml, example: testcases/bugs/jaxws1015
cpclasses "../src/$SVC_DIR/*.xml"

SERVER_CLASSPATH=${classpath}:$SHARED_LIB:.

mkdirp shared-source
cp -R -v $SHARED_DIR/src/* shared-source >> log.txt 2>&1

mkdirp deploy-source
mkdirp deploy-classes

collectSources shared-source deploy-source/
collectSources ../src/$SVC_DIR deploy-source/

#mkdirp deploy-source/${packagePrefix}/$SVC_DIR
#cp -R -v ../src/$SVC_DIR/* deploy-source/${packagePrefix}/$SVC_DIR  >> log.txt 2>&1
## hack to get compiled server sources from ../src/server
#cp -R -v services/$SVC_DIR/war/WEB-INF/classes/* sources-deploy/  >> log.txt 2>&1
cp -R -v services/$SVC_DIR/war/WEB-INF/classes/* deploy-classes/  >> log.txt 2>&1
echo "= COPYing utility classes ======" >> log.txt
cp -R -v $SHARED_DIR/classes/* deploy-classes/  >> log.txt 2>&1

collectSources services/$SVC_DIR/gen-src/ deploy-source
collectSources bsh/Deploy${stage}.java deploy-source

# existing module-info.class makes the compilation fail ...
rm -rfv deploy-classes/module-info.class >> log.txt 2>&1
rm -rfv deploy-source/module-info.class >> log.txt 2>&1

r javac $TOOL_JAVA_OPTS -d deploy-classes -cp deploy-source deploy-source/bsh/Deploy${stage}.java
compileModuleInfos deploy-source deploy-classes

runServer $SERVER_CLASSPATH bsh.Deploy${stage}

r sleep 3
