blob: 178e564971bf49bdef8539fc6e66a22ea43310c5 [file] [log] [blame]
#!/bin/bash
databrowser=`dirname $0`
OLD=${PWD}
cd ${databrowser}
databrowser=`dirname ${PWD}`
cd ${databrowser}
databrowser=${PWD}
cd ${OLD}
if [ "x${WINDIR}" != "x" ]; then
echo "ERROR: The variable WINDIR is set, indicating this script is running in a Windows OS, please use the .bat file version instead."
exit 1
fi
if [ "x${GEMFIRE}" = "x" ]; then
echo "ERROR: GEMFIRE environment variable is not set."
exit 1
fi
if [ ! -f ${GEMFIRE}/lib/gemfire.jar ]; then
echo "ERROR: Could not locate gemfire.jar, expected it at \$GEMFIRE/lib/gemfire.jar"
exit 1
fi
MX4J_JARS=${GEMFIRE}/lib/commons-logging.jar:${GEMFIRE}/lib/commons-modeler-2.0.jar:${GEMFIRE}/lib/mx4j.jar:${GEMFIRE}/lib/mx4j-remote.jar:${GEMFIRE}/lib/mx4j-tools.jar
TOOL_JARS=${GEMFIRE}/lib/gemfire.jar:${GEMFIRE}/lib/antlr.jar:${MX4J_JARS}:${databrowser}/lib/__UNIX_JARS__:${databrowser}/lib/__JAR_NAME__
if [ "x${CLASSPATH}" != "x" ]; then
TOOL_JARS=${TOOL_JARS}:${CLASSPATH}
fi
# Detect OS & JVM Data/Architecture Model
UNAME=`uname`
GF_JAVA_ARCH=`${GF_JAVA:-java} -classpath ${TOOL_JARS} -Duser.language=us __JVMARCH_CLASS__`
if [ "x${UNAME}" = "xLinux" ]; then
if [ "y${GF_JAVA_ARCH}" = "yx86_64" ]; then
TOOL_JARS=${TOOL_JARS}:${databrowser}/lib/__SWT_x86_64.linux__
else
TOOL_JARS=${TOOL_JARS}:${databrowser}/lib/__SWT_x86.linux__
fi
fi
# "mkdir -p" the temp directory that will be used by SWT for native libraries
TEMP_DIR=${PWD}/temp
TEMP_DIR_ARCH=$TEMP_DIR/$UNAME-$GF_JAVA_ARCH
mkdir -p ${TEMP_DIR_ARCH} 2>/dev/null
if [ ! -d ${TEMP_DIR_ARCH} ]; then
echo "ERROR: Could not find/create the required temporary directory ${TEMP_DIR_ARCH}. Please check for write permissions in ${PWD}."
exit 1
fi
${GF_JAVA:-java} ${JAVA_ARGS} -classpath ${TOOL_JARS} -Duser.language=us -Djava.io.tmpdir=${TEMP_DIR_ARCH} __MAIN_CLASS__ $@
if [ $? -ne 0 ]; then
echo "ERROR: trouble starting DataBrowser."
echo "This is likely a swt graphics library issue while loading the gtk libraries "
echo "or you forgot to set your DISPLAY environment variable."
exit 1
fi
# Try deleting parent temp directory without -f so that libraries remain for other instances
# Not checking the exit status after 'rm' as 'rm' could fail if the files are in use by other instance running from the same directory
rm -r --interactive=never ${TEMP_DIR} 2>/dev/null