#!/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 [ -n "$derby_common_debug" ] ; then
|
set -x
|
fi
|
|
# OS specific support. $var _must_ be set to either true or false.
|
cygwin=false;
|
darwin=false;
|
case "`uname`" in
|
CYGWIN*) cygwin=true ;;
|
Darwin*) darwin=true
|
if [ -z "$JAVA_HOME" ] ; then
|
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
|
fi
|
;;
|
esac
|
|
if [ -z "$DERBY_HOME" -o ! -d "$DERBY_HOME" ] ; then
|
## resolve links - $0 may be a link to derby's home
|
PRG="$0"
|
progname=`basename "$0"`
|
|
# need this for relative symlinks
|
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
|
|
DERBY_HOME=`dirname "$PRG"`/..
|
|
# make it fully qualified
|
DERBY_HOME=`cd "$DERBY_HOME" && pwd`
|
fi
|
|
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
if $cygwin ; then
|
[ -n "$DERBY_HOME" ] &&
|
DERBY_HOME=`cygpath --unix "$DERBY_HOME"`
|
[ -n "$JAVA_HOME" ] &&
|
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
fi
|
|
# set DERBY_LIB location
|
DERBY_LIB="${DERBY_HOME}/lib"
|
|
if [ -z "$JAVACMD" ] ; then
|
if [ -n "$JAVA_HOME" ] ; then
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
# IBM's JDK on AIX uses strange locations for the executables
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
else
|
JAVACMD="$JAVA_HOME/bin/java"
|
fi
|
else
|
JAVACMD=`which java 2> /dev/null `
|
if [ -z "$JAVACMD" ] ; then
|
JAVACMD=java
|
fi
|
fi
|
fi
|
|
if [ ! -x "$JAVACMD" ] ; then
|
echo "Error: JAVA_HOME is not defined correctly."
|
echo " We cannot execute $JAVACMD"
|
exit 1
|
fi
|
|
# set local classpath, don't overwrite the user's
|
LOCALCLASSPATH=$DERBY_LIB/derby.jar:$DERBY_LIB/derbynet.jar:$DERBY_LIB/derbytools.jar:$DERBY_LIB/derbyoptionaltools.jar:$DERBY_LIB/derbyclient.jar
|
|
|
# if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be
|
# user CLASSPATH first and derby-found jars after.
|
# In that case, the user CLASSPATH will override derby-found jars
|
#
|
# if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour
|
# with derby-found jars first and user CLASSPATH after
|
if [ -n "$CLASSPATH" ] ; then
|
# merge local and specified classpath
|
if [ -z "$LOCALCLASSPATH" ] ; then
|
LOCALCLASSPATH="$CLASSPATH"
|
elif [ -n "$CLASSPATH_OVERRIDE" ] ; then
|
LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH"
|
else
|
LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH"
|
fi
|
|
# remove class path from launcher -cp option
|
CLASSPATH=""
|
fi
|
|
# For Cygwin, switch paths to appropriate format before running java
|
# For PATHs convert to unix format first, then to windows format to ensure
|
# both formats are supported. Probably this will fail on directories with ;
|
# in the name in the path. Let's assume that paths containing ; are more
|
# rare than windows style paths on cygwin.
|
if $cygwin; then
|
if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
|
format=mixed
|
else
|
format=windows
|
fi
|
DERBY_HOME=`cygpath --$format "$DERBY_HOME"`
|
DERBY_LIB=`cygpath --$format "$DERBY_LIB"`
|
if [ -n "$JAVA_HOME" ]; then
|
JAVA_HOME=`cygpath --$format "$JAVA_HOME"`
|
fi
|
LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"`
|
LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"`
|
if [ -n "$CLASSPATH" ] ; then
|
CP_TEMP=`cygpath --path --unix "$CLASSPATH"`
|
CLASSPATH=`cygpath --path --$format "$CP_TEMP"`
|
fi
|
CYGHOME=`cygpath --$format "$HOME"`
|
fi
|
|
# add a second backslash to variables terminated by a backslash under cygwin
|
if $cygwin; then
|
case "$DERBY_HOME" in
|
*\\ )
|
DERBY_HOME="$DERBY_HOME\\"
|
;;
|
esac
|
case "$CYGHOME" in
|
*\\ )
|
CYGHOME="$CYGHOME\\"
|
;;
|
esac
|
case "$LOCALCLASSPATH" in
|
*\\ )
|
LOCALCLASSPATH="$LOCALCLASSPATH\\"
|
;;
|
esac
|
case "$CLASSPATH" in
|
*\\ )
|
CLASSPATH="$CLASSPATH\\"
|
;;
|
esac
|
fi
|
|
# Readjust classpath for MKS
|
# expr match
|
if [ \( "`expr $SHELL : '.*sh.exe$'`" -gt 0 \) -a \( "$cygwin" = "false" \) ]; then
|
LOCALCLASSPATH=`echo $LOCALCLASSPATH | sed -E 's/([\d\w]*):([\d\w]*)/\1;\2/g
|
'`
|
fi
|
#!/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.
|
|
derby_exec_command="exec \"$JAVACMD\" $DERBY_OPTS -classpath \"$LOCALCLASSPATH\" org.apache.derby.tools.sysinfo $@"
|
eval $derby_exec_command
|