Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
771 blopes 1
#!/bin/sh
2
 
3
# Licensed to the Apache Software Foundation (ASF) under one or more
4
# contributor license agreements.  See the NOTICE file distributed with
5
# this work for additional information regarding copyright ownership.
6
# The ASF licenses this file to You under the Apache License, Version 2.0
7
# (the "License"); you may not use this file except in compliance with
8
# the License.  You may obtain a copy of the License at
9
#
10
#     http://www.apache.org/licenses/LICENSE-2.0
11
#
12
# Unless required by applicable law or agreed to in writing, software
13
# distributed under the License is distributed on an "AS IS" BASIS,
14
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
# See the License for the specific language governing permissions and
16
# limitations under the License.
17
 
18
# -----------------------------------------------------------------------------
19
# Wrapper script for command line tools
20
#
21
# Environment Variable Prerequisites
22
#
23
#   CATALINA_HOME   May point at your Catalina "build" directory.
24
#
25
#   TOOL_OPTS       (Optional) Java runtime options.
26
#
27
#   JAVA_HOME       Must point at your Java Development Kit installation.
28
#                   Using JRE_HOME instead works as well.
29
#
30
#   JRE_HOME        Must point at your Java Runtime installation.
31
#                   Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
32
#                   are both set, JRE_HOME is used.
33
#
34
#   JAVA_OPTS       (Optional) Java runtime options.
35
#
36
#   JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories
37
#                   containing some jars in order to allow replacement of APIs
38
#                   created outside of the JCP (i.e. DOM and SAX from W3C).
39
#                   It can also be used to update the XML parser implementation.
40
#                   This is only supported for Java <= 8.
41
#                   Defaults to $CATALINA_HOME/endorsed.
42
# -----------------------------------------------------------------------------
43
 
44
# OS specific support.  $var _must_ be set to either true or false.
45
cygwin=false
46
darwin=false
47
os400=false
48
case "`uname`" in
49
CYGWIN*) cygwin=true;;
50
Darwin*) darwin=true;;
51
OS400*) os400=true;;
52
esac
53
 
54
# resolve links - $0 may be a softlink
55
PRG="$0"
56
 
57
while [ -h "$PRG" ]; do
58
  ls=`ls -ld "$PRG"`
59
  link=`expr "$ls" : '.*-> \(.*\)$'`
60
  if expr "$link" : '/.*' > /dev/null; then
61
    PRG="$link"
62
  else
63
    PRG=`dirname "$PRG"`/"$link"
64
  fi
65
done
66
 
67
# Get standard environment variables
68
PRGDIR=`dirname "$PRG"`
69
 
70
# Only set CATALINA_HOME if not already set
71
[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
72
 
73
# Ensure that any user defined CLASSPATH variables are not used on startup,
74
# but allow them to be specified in setenv.sh, in rare case when it is needed.
75
CLASSPATH=
76
 
77
if [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
78
  . "$CATALINA_HOME/bin/setenv.sh"
79
fi
80
 
81
# For Cygwin, ensure paths are in UNIX format before anything is touched
82
if $cygwin; then
83
  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
84
  [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
85
  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
86
  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
87
fi
88
 
89
# For OS400
90
if $os400; then
91
  # Set job priority to standard for interactive (interactive - 6) by using
92
  # the interactive priority - 6, the helper threads that respond to requests
93
  # will be running at the same priority as interactive jobs.
94
  COMMAND='chgjob job('$JOBNAME') runpty(6)'
95
  system $COMMAND
96
 
97
  # Enable multi threading
98
  export QIBM_MULTI_THREADED=Y
99
fi
100
 
101
# Get standard Java environment variables
102
if $os400; then
103
  # -r will Only work on the os400 if the files are:
104
  # 1. owned by the user
105
  # 2. owned by the PRIMARY group of the user
106
  # this will not work if the user belongs in secondary groups
107
  . "$CATALINA_HOME"/bin/setclasspath.sh
108
else
109
  if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
110
    . "$CATALINA_HOME"/bin/setclasspath.sh
111
  else
112
    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
113
    echo "This file is needed to run this program"
114
    exit 1
115
  fi
116
fi
117
 
118
# Add on extra jar files to CLASSPATH
119
if [ ! -z "$CLASSPATH" ] ; then
120
  CLASSPATH="$CLASSPATH":
121
fi
122
CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/tomcat-juli.jar:"$CATALINA_HOME"/lib/servlet-api.jar:"$CATALINA_HOME"/lib/tomcat-util.jar
123
 
124
# For Cygwin, switch paths to Windows format before running java
125
if $cygwin; then
126
  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
127
  JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
128
  CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
129
  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
130
  [ -n "$JAVA_ENDORSED_DIRS" ] && JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
131
fi
132
 
133
# Java 9 no longer supports the java.endorsed.dirs
134
# system property. Only try to use it if
135
# JAVA_ENDORSED_DIRS was explicitly set
136
# or CATALINA_HOME/endorsed exists.
137
ENDORSED_PROP=ignore.endorsed.dirs
138
if [ -n "$JAVA_ENDORSED_DIRS" ]; then
139
    ENDORSED_PROP=java.endorsed.dirs
140
fi
141
if [ -d "$CATALINA_HOME/endorsed" ]; then
142
    ENDORSED_PROP=java.endorsed.dirs
143
fi
144
 
145
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
146
 
147
# ----- Execute The Requested Command -----------------------------------------
148
 
149
eval exec "\"$_RUNJAVA\"" "$JAVA_OPTS" "$TOOL_OPTS" \
150
  -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
151
  -classpath "\"$CLASSPATH\"" \
152
  -Dcatalina.home="\"$CATALINA_HOME\"" \
153
  org.apache.catalina.startup.Tool "$@"