blob: fdb9b59ab00a087496eae0134e33715c0e608542 [file] [log] [blame]
#!/bin/sh
#
# Copyright 2005 The Apache Software Foundation
#
# Licensed 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.
# --------------------------------------------------------------------
# $Rev$ $Date$
# --------------------------------------------------------------------
# -----------------------------------------------------------------------------
# Deploy Script for the Geronimo Server
#
# You should not have to edit this file. If you wish to have environment
# variables set each time you run this script refer to the information
# on the setenv.sh script that is called by this script below.
#
# Invocation Syntax:
#
# deploy.sh [general options] command [command options]
#
# For detailed command usage information, just run deploy.sh without any
# arguments.
#
# Environment Variable Prequisites:
#
# GERONIMO_HOME (Optional) May point at your Geronimo top-level directory.
# If not specified, it will default to the parent directory
# of the location of this script.
#
# GERONIMO_BASE (Optional) Base directory for resolving dynamic portions
# of a Geronimo installation. If not present, resolves to
# the same directory that GERONIMO_HOME points to.
#
# GERONIMO_OPTS (Optional) Java runtime options.
#
# GERONIMO_TMPDIR (Optional) Directory path location of temporary directory
# the JVM should use (java.io.tmpdir).
# Defaults to $GERONIMO_BASE/var/temp.
#
# JAVA_HOME Points to your Java Development Kit installation.
# JAVA_HOME doesn't need to be set if JRE_HOME is set.
# It is mandatory either JAVA_HOME or JRE_HOME are set.
#
# JRE_HOME Points to your Java Runtime Environment installation.
# Set this if you wish to run Geronimo using the JRE
# instead of the JDK. Defaults to JAVA_HOME if empty.
# It is mandatory either JAVA_HOME or JRE_HOME are set.
#
# JAVA_OPTS (Optional) Java runtime options.
#
# Troubleshooting execution of this script file:
#
# GERONIMO_ENV_INFO (Optional) Environment variable that when set to
# "on" (the default) outputs the
# values of GERONIMO_HOME, GERONIMO_BASE,
# GERONIMO_TMPDIR, JAVA_HOME, JRE_HOME before
# the command is issued. Set to "off" if you
# do want to see this information.
#
# Scripts called by this script:
#
# $GERONIMO_HOME/bin/setenv.sh
# (Optional) This script file is called if it is present.
# Its contents may set one or more of the above environment
# variables. It is preferable (to simplify migration to
# future Geronimo releases) to set environment variables
# in this file rather than modifying Geronimo's script files.
#
# $GERONIMO_HOME/bin/setjavaenv.sh
# This batch file is called to set environment variables
# relating to the java or jdb executable to invoke.
# This file should not need to be modified.
#
# Exit Codes:
#
# 0 - Success
# 1 - Error
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
cygwin=false
os400=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
esac
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
# Only set GERONIMO_HOME if not already set
[ -z "$GERONIMO_HOME" ] && GERONIMO_HOME=`cd "$PRGDIR/.." ; pwd`
if [ -r "$GERONIMO_HOME"/bin/setenv.sh ]; then
. "$GERONIMO_HOME"/bin/setenv.sh
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
[ -n "$GERONIMO_HOME" ] && GERONIMO_HOME=`cygpath --unix "$GERONIMO_HOME"`
[ -n "$GERONIMO_BASE" ] && GERONIMO_BASE=`cygpath --unix "$GERONIMO_BASE"`
fi
# For OS400
if $os400; then
# Set job priority to standard for interactive (interactive - 6) by using
# the interactive priority - 6, the helper threads that respond to requests
# will be running at the same priority as interactive jobs.
COMMAND='chgjob job('$JOBNAME') runpty(6)'
system $COMMAND
# Enable multi threading
export QIBM_MULTI_THREADED=Y
fi
# Get standard Java environment variables
# (based upon Tomcat's setclasspath.sh but renamed since Geronimo's classpath
# is set in the JAR manifest)
if $os400; then
# -r will Only work on the os400 if the files are:
# 1. owned by the user
# 2. owned by the PRIMARY group of the user
# this will not work if the user belongs in secondary groups
BASEDIR="$GERONIMO_HOME"
. "$GERONIMO_HOME"/bin/setjavaenv.sh
else
if [ -r "$GERONIMO_HOME"/bin/setjavaenv.sh ]; then
BASEDIR="$GERONIMO_HOME"
. "$GERONIMO_HOME"/bin/setjavaenv.sh
else
echo "Cannot find $GERONIMO_HOME/bin/setjavaenv.sh"
echo "This file is needed to run this program"
exit 1
fi
fi
if [ -z "$GERONIMO_BASE" ] ; then
GERONIMO_BASE="$GERONIMO_HOME"
fi
if [ -z "$GERONIMO_TMPDIR" ] ; then
# Define the java.io.tmpdir to use for Geronimo
GERONIMO_TMPDIR="$GERONIMO_BASE"/var/temp
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
GERONIMO_HOME=`cygpath --absolute --windows "$GERONIMO_HOME"`
GERONIMO_BASE=`cygpath --absolute --windows "$GERONIMO_BASE"`
GERONIMO_TMPDIR=`cygpath --absolute --windows "$GERONIMO_TMPDIR"`
fi
# ----- Execute The Requested Command -----------------------------------------
if [ "$GERONIMO_ENV_INFO" != "off" ] ; then
echo "Using GERONIMO_BASE: $GERONIMO_BASE"
echo "Using GERONIMO_HOME: $GERONIMO_HOME"
echo "Using GERONIMO_TMPDIR: $GERONIMO_TMPDIR"
if [ "$1" = "debug" ] ; then
echo "Using JAVA_HOME: $JAVA_HOME"
echo "Using JDB_SRCPATH: $JDB_SRCPATH"
else
echo "Using JRE_HOME: $JRE_HOME"
fi
fi
exec "$_RUNJAVA" $JAVA_OPTS $GERONIMO_OPTS \
-Dorg.apache.geronimo.base.dir="$GERONIMO_BASE" \
-Djava.io.tmpdir="$GERONIMO_TMPDIR" \
-jar "$GERONIMO_HOME"/bin/deployer.jar "$@"