vgritsenko 2004/01/21 19:28:16
Modified: bin xindice Log: rework, add XINDICE_CONFIG parameter, add cygwin support, etc. Revision Changes Path 1.5 +48 -39 xml-xindice/bin/xindice Index: xindice =================================================================== RCS file: /home/cvs/xml-xindice/bin/xindice,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- xindice 27 Oct 2002 00:02:50 -0000 1.4 +++ xindice 22 Jan 2004 03:28:16 -0000 1.5 @@ -1,50 +1,59 @@ #!/bin/sh +# ----------------------------------------------------------------------------- +# Xindice Command Line Tool Unix Shell Script for SRC distribution +# +# $Id$ +# ----------------------------------------------------------------------------- + +# ----- OS specific support ---------------------------------------------------- + +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 test -z "$JAVA_HOME"; then - echo "\$JAVA_HOME Is Not Set" - exit +# ----- Verify and Set Required Environment Variables ------------------------- + +if [ "$JAVA_HOME" = "" ] ; then + echo You must set JAVA_HOME to point at your Java Development Kit installation + exit 1 fi -if test -z "$XINDICE_HOME"; then - echo "\$XINDICE_HOME Is Not Set" - exit +if [ "$XINDICE_HOME" = "" ] ; then + XINDICE_HOME=`dirname $0`/.. + echo "WARNING: The environment variable XINDICE_HOME is not set." + echo " Defaulting to $XINDICE_HOME" fi -CMD_HOME=`dirname $0` -CMD_NAME=`basename $0` +if [ "$XINDICE_DB_HOME" = "" ] ; then XINDICE_DB_HOME=$XINDICE_HOME ; fi +if [ "$XINDICE_CONFIG" = "" ] ; then XINDICE_CONFIG=$XINDICE_HOME/config/system.xml ; fi +if [ "$LOGGER" = "" ] ; then LOGGER=org.apache.commons.logging.impl.SimpleLog ; fi +if [ "$LOGLEVEL" = "" ] ; then LOGLEVEL=INFO ; fi -CLASSPATH=$XINDICE_HOME/classgen:$XINDICE_HOME/config:$CLASSPATH -# Read in the list of Xindice Jars to include in the CLASSPATH -JAR_LIST="" -JARS=`ls -1 $XINDICE_HOME/java/lib/*.jar` -for jar in $JARS ; do - JAR_LIST="$JAR_LIST `basename $jar`" - CLASSPATH=$jar:$CLASSPATH ; -done -JARS=`ls -1 $XINDICE_HOME/dist/xindice*.jar` -for jar in $JARS ; do - JAR_LIST="$JAR_LIST `basename $jar`" - CLASSPATH=$jar:$CLASSPATH ; -done - -# Read in the extra VM paramters for starting the program -VMPROPS="" -if test -f $XINDICE_HOME/config/vm.cfg; then - PROPS="`cat $XINDICE_HOME/config/vm.cfg`" - for prop in $PROPS - do - VMPROPS="$VMPROPS $prop" - done -fi +# ----- Set Classpath ---------------------------------------------------------- + +CP=$XINDICE_HOME/classes +for i in `ls $XINDICE_HOME/java/lib/*.jar` ; do CP=$CP:$i ; done +for i in `ls $XINDICE_HOME/dist/xindice*.jar` ; do CP=$CP:$i ; done -case $CMD_NAME in - xindice) CLASS_NAME="org.apache.xindice.tools.XMLTools" ;; - *) echo "Error mapping command link to Java class" - exit 1 ;; -esac -LOGGER=org.apache.commons.logging.impl.SimpleLog -LOGLEVEL=debug +# ----- Run Tools -------------------------------------------------------------- + +JAVACMD=$JAVA_HOME/bin/java +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + CP=`cygpath --path --windows "$CP"` + XINDICE_HOME=`cygpath --path --windows "$XINDICE_HOME"` + XINDICE_DB_HOME=`cygpath --path --windows "$XINDICE_DB_HOME"` + XINDICE_CONFIG=`cygpath --path --windows "$XINDICE_CONFIG"` +fi -$JAVA_HOME/bin/java -Xms16m -Xmx128m -Dxindice.home="$XINDICE_HOME" -Dorg.apache.commons.logging.Log="$LOGGER" -Dorg.apache.commons.logging.simplelog.defaultlog="$LOGLEVEL" -Dcmd.home="$CMD_HOME" $VMPROPS -classpath "$CLASSPATH" $CLASS_NAME $* +$JAVA_HOME/bin/java -Xms16m -Xmx128m -Dxindice.home="$XINDICE_HOME" -Dxindice.db.home="$XINDICE_DB_HOME" -Dxindice.configuration="$XINDICE_CONFIG" -Dorg.apache.commons.logging.Log="$LOGGER" -Dorg.apache.commons.logging.simplelog.defaultlog="$LOGLEVEL" -Dcmd.home="$XINDICE_HOME" -classpath "$CP" org.apache.xindice.tools.XMLTools $*
