[jsword-devel] JSword v1.0 beta 1
Joe Walker
jsword-devel@crosswire.org
Mon, 21 Apr 2003 17:23:24 +0100
This is a multi-part message in MIME format.
--------------080905060909000801050406
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
Thanks, I've been meaning to hack up the unix ant startup script for
jsword. (The DOS batch file is vaguely inspired by the windows ant
startup script).
The attached is a vague attempt, please could you have a go?
In theory it should work on cgywin/maxosx and not need updating whenever
the number of jars changes.
Joe.
--------------080905060909000801050406
Content-Type: text/plain;
name="jsword.sh"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="jsword.sh"
#!/bin/sh
# Parts of this file were derived from the ant startup script for unix.
# Copyright (c) 2001-2003 The Apache Software Foundation.
# 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 "$JSWORD" ] ; then
## resolve links - $0 may be a link to jsword's home
PRG="$0"
progname=`basename "$0"`
saveddir=`pwd`
# need this for relative symlinks
dirname_prg=`dirname "$PRG"`
cd "$dirname_prg"
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
JSWORD=`dirname "$PRG"`/..
cd "$saveddir"
# make it fully qualified
JSWORD=`cd "$JSWORD" && pwd`
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$JSWORD" ] &&
JSWORD=`cygpath --unix "$JSWORD"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
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
if [ -n "$CLASSPATH" ] ; then
LOCALCLASSPATH="$CLASSPATH"
fi
# This is actually redundant because we are using the endorsed.dirs method
# (which we need for JAXB purposes)
for i in "${JSWORD}/lib/"*.jar
do
# if the directory is empty, then it will return the input string
# this is stupid, so case for it
if [ -f "$i" ] ; then
if [ -z "$LOCALCLASSPATH" ] ; then
LOCALCLASSPATH="$i"
else
LOCALCLASSPATH="$i":"$LOCALCLASSPATH"
fi
fi
done
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
JSWORD=`cygpath --windows "$JSWORD"`
JAVA_HOME=`cygpath --windows "$JAVA_HOME"`
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
CYGHOME=`cygpath --windows "$HOME"`
fi
"$JAVACMD" "-Djava.endorsed.dirs=${JSWORD}\lib" -classpath "${JSWORD}\resource" "-Djsword.bible.dir=${JSWORD}\resource" org.crosswire.jsword.view.swing.desktop.Desktop
--------------080905060909000801050406--