blob: 4efb4596170105ac04a0114e9cc576ae79eb2e9b [file] [log] [blame]
#!/bin/sh
###############################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
###############################################################################
#################################
# Glassfish Deployment #
# #
# Run with Glassfish Home and #
# domain directory path #
#################################
# Check args.
if [ $# -ne 2 ]; then
echo "Input required .."
echo "Syntax: $0 <glassfish-home> <glassfish-domain-directory-path>"
exit 1
fi
# Clean up ..
if [ -f "./META-INF/application.xml" ]; then
rm -rf META-INF
echo "removed META-INF"
fi
if [ -f "./lib/ofbiz-base.jar" ]; then
rm -rf lib
echo "removed libs"
rm *.war
echo "removed wars"
rm ofbiz.ear
echo "removed ear"
fi
GLASSFISH_HOME=$1
DOMAIN_HOME=$2
# setup JavaDB drivers.
if [ ! -f "${ofbizHome}/framework/entity/lib/jdbc/derbyclient.jar" ]; then
cp $GLASSFISH_HOME/javadb/lib/derbyclient.jar ${ofbizHome}/framework/entity/lib/jdbc/derbyclient.jar
fi
# setup log4j.xml (copy to domain1/config folder)
if [ ! -f "$DOMAIN_HOME/config/log4j.xml" ]; then
cp ${ofbizHome}/framework/base/config/log4j.xml $DOMAIN_HOME/config
fi
# setup the OFBIZ_HOME by updating domain.xml
if [ ! -f "$DOMAIN_HOME/config/domain.xml_bak" ]; then
cp $DOMAIN_HOME/config/domain.xml $DOMAIN_HOME/config/domain.xml_bak
patch $DOMAIN_HOME/config/domain.xml ${targetDirectory}/domain.xml.patch
if [ $? ne 0] ; then
echo "Patching domain.xml failed.."
exit 1;
fi
echo "patched domain.xml"
fi
# setup entityengine.xml
if [ -f "${ofbizHome}/framework/entity/config/entityengine.xml" ]; then
cp ${ofbizHome}/framework/entity/config/entityengine.xml ${ofbizHome}/framework/entity/config/entityengine.xml_bak
patch framework/entity/config/entityengine.xml ${targetDirectory}/entityengine.xml.patch
if [ $? ne 0] ; then
echo "Patching entityengine.xml failed.."
exit 1;
fi
echo "patched entityengine.xml"
fi
# setup url.properties (SSL port)
if [ -f "${ofbizHome}/framework/webapp/config/url.properties" ]; then
mv ${ofbizHome}/framework/webapp/config/url.properties ${ofbizHome}/framework/webapp/config/url.properties_bak
cp ${targetDirectory}/url.properties ${ofbizHome}/framework/webapp/config/url.properties
echo "Copied url.properties"
fi
# copy all lib files
mkdir lib
<#list classpathJars as jar>
<#if (!jar.contains("j2eespec") && !jar.contains("catalina") && !jar.contains("mx4j") && !jar.contains("derby-") && !jar.contains("commons-el") && !jar.contains("avalon-framework") && !jar.contains("mail-1.4.jar"))>
cp ${jar} ./lib
</#if>
</#list>
echo "installed ofbiz libraries"
<#list classpathDirs as dir>
<#if (dir != ofbizHome)>
<#assign jarname = dir.substring(ofbizHome.length()+1)/>
<#assign jarname = jarname.replaceAll("/", ".")/>
jar cvf ./lib/${jarname}.jar -C ${dir} .
</#if>
</#list>
echo "\n\n"
echo "packaged and installed ofbiz configuration directories"
# WAR the web applications
<#list webApps as webapp>
jar -cvf ${webapp.getName()}.war -C ${webapp.getLocation()} .
</#list>
echo "WARred webapp directories"
# create the application meta data
mkdir META-INF
cp ${targetDirectory}/application.xml ./META-INF
echo "installed application.xml"
# build EAR
jar -cvf ofbiz.ear *
# copy the EAR to autodeploy dir
cp ofbiz.ear $DOMAIN_HOME/autodeploy/ofbiz.ear
echo "Copied EAR to autodeploy"
# revert entityengine.xml
if [ -f "${ofbizHome}/framework/entity/config/entityengine.xml_bak" ]; then
mv ${ofbizHome}/framework/entity/config/entityengine.xml_bak ${ofbizHome}/framework/entity/config/entityengine.xml
echo "restored entityengine.xml"
fi
# revert url.properties
if [ -f "${ofbizHome}/framework/webapp/config/url.properties_bak" ]; then
mv ${ofbizHome}/framework/webapp/config/url.properties_bak ${ofbizHome}/framework/webapp/config/url.properties
echo "restored url.properties"
fi
echo "\n"