#!/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. # -------------------------------------------------------------------- # $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=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 --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 "$@"