Index: /main/trunk/gli/gems.sh
===================================================================
--- /main/trunk/gli/gems.sh	(revision 22335)
+++ /main/trunk/gli/gems.sh	(revision 22336)
@@ -1,57 +1,3 @@
 #!/bin/bash
-
-# Function that, when given gsdlpath as parameter, will return the
-# version of greenstone that is to run (2 or 3). If things are not,
-# this program will exit here.
-get_version() {
-    # first parameter is value of gsdlpath
-    if [ -f "${1}/gs3-setup.sh" ]; then
-	return 3
-    elif [ -f "${1}/setup.bash" ]; then
-	return 2
-    else
-	echo "Error: can't determine which Greenstone version is being run."
-	exit 1
-    fi
-}
-
-# Function that is passed the following paramters (in order):
-# - the gsdlpath (GS3 home, GS2 home or gs2build for GS3), 
-# - the version of greenstone that's running, and 
-# - the language GLI is set to
-# and checks the installation. 
-# If things are not right, this program will exit here.
-check_installation() {
-# Check that the Greenstone installation looks OK
-    if [ "$3" = "es" ]; then
-	echo "Revisando GSDL$2: $1"
-    elif [ "$3" = "fr" ]; then
-	echo "Vérification de GSDL$2: $1"
-    elif [ "$3" = "ru" ]; then
-	echo "ðÒÏ×ÅÒËÁ GSDL$2: $1"
-    else
-	echo "Checking GSDL$2: $1"
-    fi
-    # even if we are only checking for gs2build (gsdl2path), we still 
-    # need the file setup.bash to exist in the following condition:
-    if [ ! -f "${1}/gs3-setup.sh" -a ! -f "${1}/setup.bash" ] ; then
-	echo
-	if [ "$3" = "es" ]; then
-	    echo "No se pudo encontrar la instalación de Greenstone $2 o está incompleta."
-	    echo "Trate de reinstalar Greenstone $2 y a continuación ejecute nuevamente"
-	    echo "este guión."
-	elif [ "$3" = "fr" ]; then
-	    echo "L'installation de Greenstone $2 est introuvable ou incomplète."
-	    echo "Essayez de réinstaller Greenstone $2 et exécutez ce script à nouveau."
-	elif [ "$3" = "ru" ]; then
-	    echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone $_version ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ."
-	    echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone $2, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á."
-	else
-	    echo "The Greenstone $2 installation could not be found, or is incomplete."
-	    echo "Try reinstalling Greenstone $2 then running this script again."
-	fi
-	exit 1
-    fi
-}
 
 glilang=en
@@ -70,5 +16,4 @@
 
 PROGNAME_EN="Greenstone Editor for Metadata Sets"
-
 
 echo
@@ -98,236 +43,26 @@
 
 ##  -------- Run the Greenstone Editor for Metadata Sets --------
-
 # This script must be run from within the directory in which it lives
-thisdir=`pwd`
-if [ ! -f "${thisdir}/gems.sh" ]; then
-    if [ "$glilang" = "es" ]; then
-        echo "Este guión deberá ejecutarse desde el directorio en el que reside."
-    elif [ "$glilang" = "fr" ]; then
-	echo "Ce script doit être exécuté à partir du répertoire dans lequel il se trouve."
-    elif [ "$glilang" = "ru" ]; then
-	echo "üÔÏÔ ÓËÒÉÐÔ ÄÏÌÖÅÎ ÂÙÔØ ×ÚÑÔ ÉÚ ÄÉÒÅËÔÏÒÉÉ, × ËÏÔÏÒÏÊ ÏÎ ÒÁÓÐÏÌÏÖÅÎ"
-    else
-	echo "This script must be run from the directory in which it resides."
-    fi
-    exit 1
-fi
-
+thisdir="`dirname \"$0\"`"
+thisdir="`cd \"$thisdir\" && pwd`"
+cd "$thisdir"
 
 ##  ---- Determine GSDLHOME ----
 ## gsdlpath can be either Greenstone 3 or Greenstone 2
-gsdlpath=
-# Some users may set the above line manually
-
-
-# This variable is set automatically:
-_version=
-if [ "x$gsdlpath" != "x" ]; then
-    get_version $gsdlpath
-    _version=$?
-# otherwise $gsdlpath is not yet set
-else
-    # Check the environment variable first
-    # Check whether environment variables for both GS2 and GS3 are set
-    # and if so, warn the user that we have defaulted to GS3
-    if [ "x$GSDLHOME" != "x" -a "x$GSDL3SRCHOME" != "x" ]; then
-        # _version not set, but both env vars set, so default to 3
-	_version=3
-	gsdlpath=$GSDL3SRCHOME
-	echo "Both Greenstone 2 and Greenstone 3 environments are set." 
-	echo "It is assumed you want to run Greenstone 3."
-	echo "If you want to run Greenstone 2, please unset the"
-	echo "environment variable GSDL3SRCHOME before running GLI."
-	echo ""
-    elif [ "x$GSDL3SRCHOME" != "x" ]; then
-	echo "Only gsdl3srchome set"
-	gsdlpath=$GSDL3SRCHOME
-	_version=3
-	echo "$gsdlpath"
-    elif [ "x$GSDLHOME" != "x" ]; then
-	gsdlpath=$GSDLHOME
-	_version=2
-    # If it is not set, assume that the GLI is installed as a subdirectory of Greenstone
-    else
-	gsdlpath=`(cd .. && pwd)`
-	# Still need to find what version we are running:
-	# GS3 main directory contains file gs3-setup.sh, GS2 only setup.bash
-	get_version $gsdlpath
-	_version=$?
-    fi
+exit_status=0
+source ./findgsdl.sh
+exit_status=$?
+if [ "$exit_status" -eq 1 ]; then
+    exit 1;
 fi
 
-echo "Greenstone version found: $_version"
-
-# Check that the main Greenstone installation for the version we're running looks OK
-check_installation $gsdlpath $_version $glilang
-
-
-# Need to source the correct setup file depending on whether we are running
-# gs3 or gs2
-# If we're running version GS2
-if [ "$_version" -eq 2 ]; then
-    # Setup Greenstone 2, unless it has already been done
-    if [ "x$GSDLHOME" = "x" ]; then
-	cd "$gsdlpath"
-	. setup.bash
-	cd "$thisdir"
-    fi
-# else, if we're running GS3
-elif [ "$_version" -eq 3 ]; then
-    # Setup Greenstone 3, unless it has already been done
-    if [ "x$GSDL3HOME" = "x" -o "x$GSDL3SRCHOME" = "x" ]; then
-	cd "$gsdlpath"
-	. gs3-setup.sh
-	cd "$thisdir"
-    fi
-    
-    ## if Greenstone version 3 is running, we want to set gsdl2path
-    ##  ---- Determine GSDLHOME ----
-    ## may be already set, or manually entered here.
-    gsdl2path=
-    
-    # Some users may set the above line manually
-    if [ "x$gsdl2path" = "x" ]; then
-        # Check the environment variable first
-	if [ "x$GSDLHOME" != "x" ]; then
-	    echo "GSDLHOME environment variable is set to $GSDLHOME."
-	    echo "Will use this to find build scripts."
-	    gsdl2path=$GSDLHOME
-        # If it is not set, assume that the gs2build subdirectory of Greenstone 3 exists
-	else
-	    gsdl2path=$GSDL3SRCHOME/gs2build
-	fi
-    fi
-    # Check that Greenstone 3's Greenstone 2 stuff looks OK (in gs2build)
-    check_installation $gsdl2path "" $glilang
-  
-    # Setup Greenstone 3's gs2build, unless it has already been done
-    if [ "x$GSDLHOME" = "x" ]; then
-	cd "$gsdl2path"
-	. setup.bash
-	cd "$thisdir"
-    fi
-
-else 
-    echo "Greenstone version unknown."    
-    exit 1
+## ---- Check Java ----
+# call the script with source, so that we have the variables it sets ($javapath
+exit_status=0
+source ./findjava.sh "$glilang" "$PROGNAME"
+exit_status=$?
+if [ "$exit_status" -eq 1 ]; then
+    exit 1;
 fi
-
-echo
-if [ "x$GSDL3SRCHOME" != "x" ]; then
-    echo "GSDL3SRCHOME is: $GSDL3SRCHOME"
-fi
-if [ "x$GSDL3HOME" != "x" ]; then
-    echo "GSDL3HOME is: $GSDL3HOME"
-fi
-if [ "x$GSDLHOME" != "x" ]; then
-    echo "GSDLHOME is: $GSDLHOME"
-fi
-echo
-
-
-
-## ---- Check Java ----
-echo "Java:"
-MINIMUM_JAVA_VERSION=1.4.0_00
-
-# Some users may set this line manually
-#JAVA_HOME=
-
-if [ -z $javapath ]; then
-
-    # sus out search4j
-    if [ "$_version" -eq 2 -a -e "$GSDLHOME/bin/$GSDLOS/search4j" ]; then
-        SEARCH4J_EXECUTABLE=$GSDLHOME/bin/$GSDLOS/search4j
-    elif [ "$_version" -eq 3 -a -e "$GSDL3SRCHOME/bin/$GSDLOS/search4j" ]; then
-        SEARCH4J_EXECUTABLE=$GSDL3SRCHOME/bin/search4j
-    elif [ -e "../bin/$GSDLOS/search4j" ]; then
-        SEARCH4J_EXECUTABLE=../bin/$GSDLOS/search4j
-    elif [ -e "../bin/search4j" ]; then
-        SEARCH4J_EXECUTABLE=../bin/search4j
-    else
-        echo "Couldn't determine the location of the search4j executable"
-        echo "If you are running Greenstone2"
-        echo "   * check GSDLHOME is set"
-        echo "   * check bin/$GSDLOS/search4j exists"
-        echo "   * check bin/$GSDLOS/search4j is executable"
-        echo "If you are running Greenstone3"
-        echo "   * check GSDL3SRCHOME is set"
-        echo "   * check bin/search4j exists"
-        echo "   * check bin/search4j is executable"
-        echo "   * try running 'ant compile-search4j'"
-    fi
-
-	# Give search4j a hint to find Java depending on the platform
-	if [ $GSDLOS = linux ]; then
-		HINT=`cd ..;pwd`/packages/jre
-	elif [ $GSDLOS = darwin ]; then
-		HINT=/System/Library/Frameworks/JavaVM.framework/Home
-	fi	
-	
-    javapath=`$SEARCH4J_EXECUTABLE -e -p $HINT -m $MINIMUM_JAVA_VERSION`
-
-    if [ "$?" != "0" ]; then
-
-        OLDVER=`"$SEARCH4J_EXECUTABLE" -v -p "$HINT"`
-
-        if [ "$?" = "0" ]; then
-
-            if [ "$glilang" = "es" ]; then
-                echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en "
-                echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar "
-                echo "la Interfaz de la $PROGNAME. Por favor instale "
-                echo "una nueva versión del Ambiente de Ejecución Java (versión $MINIMUM_JAVA_VERSION o "
-                echo "posterior) y ejecute nuevamente este guión."
-            elif [ "$glilang" = "fr" ]; then
-                echo "La version de Java Runtime Environment que vous avez installée est"
-                echo "trop vielle pour faire fonctionner $PROGNAME."
-                echo "Veuillez installer une nouvelle version du JRE (version $MINIMUM_JAVA_VERSION ou plus"
-                echo "récente) et redémarrez le script."
-            elif [ "$glilang" = "ru" ]; then
-                echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ,"
-                echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, "
-                echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ $MINIMUM_JAVA_VERSION ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É"
-                echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ"
-            else
-                echo "The version of the Java Runtime Environment you have installed ($OLDVER)"
-                echo "is too old to run the $PROGNAME. Please install a new"
-                echo "version of the JRE (version $MINIMUM_JAVA_VERSION or newer) and rerun this script."
-            fi
-            exit 1
-
-        else
-
-            echo
-            if [ "$glilang" = "es" ]; then
-                echo "No se pudo localizar una versión apropiada de Java. Usted deberá "
-                echo "instalar un Ambiente de Ejecución Java (versión $MINIMUM_JAVA_VERSION o superior) "
-                echo "antes de correr la Interfaz de la $PROGNAME."
-            elif [ "$glilang" = "fr" ]; then
-                echo "Une version adéquate de Java n'a pas pu être localisée."
-                echo "Vous devez installer un Java Runtime Environment (version $MINIMUM_JAVA_VERSION ou"
-                echo "supérieur) avant de démarrer $PROGNAME."
-				echo "Si vous avez Java installé sur votre ordinateur veuillez vérifier la variable"
-				echo "d'environnement JAVA_HOME."
-            elif [ "$glilang" = "ru" ]; then
-                echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java."
-                echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ $MINIMUM_JAVA_VERSION ÉÌÉ ×ÙÛÅ)"
-                echo "ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ $PROGNAME."
-            else
-                echo "Failed to locate an appropriate version of Java. You must install a"
-                echo "Java Runtime Environment (version $MINIMUM_JAVA_VERSION or greater) before running the"
-                echo "$PROGNAME."
-				echo "If you have Java intalled on your machine please set the environment variable JAVA_HOME."
-            fi
-        fi
-
-    fi
-
-fi
-echo $javapath
-echo
-
-
 
 ## ---- Check that the GEMS has been compiled ----
