blob: 84ff69f13e14c1ed77cd5d262af9e70988dded55 [file] [log] [blame]
#!/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" "$@"