| #!/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.# |
| # IF YOU ARE READING THIS, YOU ARE VIOLATING YOUR LICENSE AGREEMENT. |
| # |
| # $Id$ |
| # This script runs a java command, using the standard metacarta environment. |
| |
| if [ "$JAVA_HOME" = "" ] ; then |
| JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun |
| fi |
| |
| # Pull together extra jar files into extra classpath |
| EXTRACLASS="" |
| for filename in $(ls -1 /usr/lib/metacarta/java-common) |
| do |
| EXTRACLASS="$EXTRACLASS":/usr/lib/metacarta/java-common/"$filename" |
| done |
| |
| for filename in $(ls -1 /usr/lib/metacarta/java-environment) |
| do |
| EXTRACLASS="$EXTRACLASS":/usr/lib/metacarta/java-environment/"$filename" |
| done |
| |
| # Do extra classpath stuff |
| for filename in $(ls -1 /usr/lib/metacarta/java-classpath) |
| do |
| EXTRACLASS="$EXTRACLASS":$(cat /usr/lib/metacarta/java-classpath/"$filename" | tr -d "\n") |
| done |
| |
| # Set specified variables |
| for filename in $(ls -1 /usr/lib/metacarta/java-vars) |
| do |
| export "$filename"=$(cat /usr/lib/metacarta/java-vars/"$filename" | tr -d "\n") |
| done |
| |
| # Do defines |
| DEFINESET="" |
| for filename in $(ls -1 /usr/lib/metacarta/java-defines) |
| do |
| TERM=-D"$filename"=$(cat /usr/lib/metacarta/java-defines/"$filename" | tr -d "\n") |
| DEFINESET="$DEFINESET $TERM" |
| done |
| |
| # Find memory base size |
| BASESIZE=16 |
| for filename in $(ls -1 /var/lib/metacarta/java-utilities-base-sizes) |
| do |
| SIZE=$(cat /var/lib/metacarta/java-utilities-base-sizes/"$filename" | tr -d "\n") |
| if ((SIZE>BASESIZE)); then |
| BASESIZE=$SIZE |
| fi |
| done |
| |
| # Add up incremental sizes |
| for filename in $(ls -1 /var/lib/metacarta/java-utilities-incremental-sizes) |
| do |
| SIZE=$(cat /var/lib/metacarta/java-utilities-incremental-sizes/"$filename" | tr -d "\n") |
| BASESIZE=$((BASESIZE+SIZE)) |
| done |
| |
| # Set up proper .so path |
| JAVALIBPATH="$JAVA_HOME"/jre/lib/i386/client:"$JAVA_HOME"/jre/lib/i386:"$JAVA_HOME"/lib/i386:/usr/lib |
| |
| # Call java |
| CLASSNAME=$1 |
| shift |
| "$JAVA_HOME"/bin/java -XX:HeapDumpPath=/common/metacarta/java-heap-dumps -XX:+HeapDumpOnOutOfMemoryError $DEFINESET -Djava.library.path="$JAVALIBPATH" -Djava.io.tmpdir=/common/metacarta/java-temp -classpath "$JAVA_HOME"/jre/lib/rt.jar:"$JAVA_HOME"/lib/tools.jar"$EXTRACLASS" -Xmx"$BASESIZE"m -Xms32m "$CLASSNAME" "$@" |