"Fossies" - the Fresh Open Source Software Archive

Member "apache-tomcat-8.5.58/bin/tool-wrapper.sh" (10 Sep 2020, 5540 Bytes) of package /windows/www/apache-tomcat-8.5.58-windows-x64.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    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 "$@"