Changeset 16546

Show
Ignore:
Timestamp:
25.07.2008 13:04:38 (11 years ago)
Author:
ak19
Message:

gems.sh script updated to launch both GEMS for GS3 as well as GS2. Replaces gems4gs3.sh.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • gli/trunk/gems.sh

    r16545 r16546  
    11#!/bin/sh 
     2 
     3# Function that, when given gsdlpath as parameter, will return the 
     4# version of greenstone that is to run (2 or 3). If things are not, 
     5# this program will exit here. 
     6get_version() { 
     7    # first parameter is value of gsdlpath 
     8    if [ -f "${1}/gs3-setup.sh" ]; then 
     9    return 3 
     10    elif [ -f "${1}/setup.bash" ]; then 
     11    return 2 
     12    else 
     13    echo "Error: can't determine which Greenstone version is being run." 
     14    exit 1 
     15    fi 
     16} 
     17 
     18# Function that is passed the following paramters (in order): 
     19# - the gsdlpath (GS3 home, GS2 home or gs2build for GS3),  
     20# - the version of greenstone that's running, and  
     21# - the language GLI is set to 
     22# and checks the installation.  
     23# If things are not right, this program will exit here. 
     24check_installation() { 
     25# Check that the Greenstone installation looks OK 
     26    if [ "$3" = "es" ]; then 
     27    echo "Revisando GSDL$2: $1" 
     28    elif [ "$3" = "fr" ]; then 
     29    echo "Vérification de GSDL$2: $1" 
     30    elif [ "$3" = "ru" ]; then 
     31    echo "ðÒÏ×ÅÒËÁ GSDL$2: $1" 
     32    else 
     33    echo "Checking GSDL$2: $1" 
     34    fi 
     35    # even if we are only checking for gs2build (gsdl2path), we still  
     36    # need the file setup.bash to exist in the following condition: 
     37    if [ ! -f "${1}/gs3-setup.sh" -a ! -f "${1}/setup.bash" ] ; then 
     38    echo 
     39    if [ "$3" = "es" ]; then 
     40        echo "No se pudo encontrar la instalación de Greenstone $2 o está incompleta." 
     41        echo "Trate de reinstalar Greenstone $2 y a continuación ejecute nuevamente" 
     42        echo "este guión." 
     43    elif [ "$3" = "fr" ]; then 
     44        echo "L'installation de Greenstone $2 est introuvable ou incomplète." 
     45        echo "Essayez de réinstaller Greenstone $2 et exécutez ce script à nouveau." 
     46    elif [ "$3" = "ru" ]; then 
     47        echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone $_version ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ." 
     48        echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone $2, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á." 
     49    else 
     50        echo "The Greenstone $2 installation could not be found, or is incomplete." 
     51        echo "Try reinstalling Greenstone $2 then running this script again." 
     52    fi 
     53    exit 1 
     54    fi 
     55} 
     56 
    257glilang=en 
    358 
    4 echo 
    5 if [ "$glilang" = "es" ]; then 
    6     echo "Editar conjuntos de metadatos (Greenstone Editor for Metadata Sets - GEMS)" 
     59if [ "$glilang" = "es" ]; then 
     60    PROGNAME="Editar conjuntos de metadatos" 
     61elif [ "$glilang" = "fr" ]; then 
     62    PROGNAME="Editer les jeux de méta-données" 
     63elif [ "$glilang" = "ru" ]; then 
     64    PROGNAME="òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ" 
     65else 
     66    PROGNAME="Greenstone Editor for Metadata Sets" 
     67fi 
     68 
     69PROGABBR="GEMS" 
     70 
     71PROGNAME_EN="Greenstone Editor for Metadata Sets" 
     72 
     73 
     74echo 
     75if [ "$glilang" = "es" ]; then 
     76    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)" 
    777    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    878    echo "GEMS NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA." 
     
    1080    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita" 
    1181elif [ "$glilang" = "fr" ]; then 
    12     echo "Editer les jeux de méta-données (Greenstone Editor for Metadata Sets - GEMS)" 
     82    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)" 
    1383    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    1484    echo "GEMS est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt" 
    1585    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer" 
    1686elif [ "$glilang" = "ru" ]; then 
    17     echo "òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ (Greenstone Editor for Metadata Sets - GEMS)" 
     87    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)" 
    1888    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    1989    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT" 
    2090    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ" 
    2191else 
    22     echo "Greenstone Editor for Metadata Sets (GEMS)" 
     92    echo "$PROGNAME ($PROGABBR)" 
    2393    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato" 
    2494    echo "GEMS comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt" 
     
    46116 
    47117##  ---- Determine GSDLHOME ---- 
     118## gsdlpath can be either Greenstone 3 or Greenstone 2 
    48119gsdlpath= 
    49  
    50120# Some users may set the above line manually 
    51 if [ "x$gsdlpath" = "x" ]; then 
     121 
     122 
     123# This variable is set automatically: 
     124_version= 
     125if [ "x$gsdlpath" != "x" ]; then 
     126    get_version $gsdlpath 
     127    _version=$? 
     128# otherwise $gsdlpath is not yet set 
     129else 
    52130    # Check the environment variable first 
    53     if [ "x$GSDLHOME" != "x" ]; then 
     131    # Check whether environment variables for both GS2 and GS3 are set 
     132    # and if so, warn the user that we have defaulted to GS3 
     133    if [ "x$GSDLHOME" != "x" -a "x$GSDL3SRCHOME" != "x" ]; then 
     134        # _version not set, but both env vars set, so default to 3 
     135    _version=3 
     136    gsdlpath=$GSDL3SRCHOME 
     137    echo "Both Greenstone 2 and Greenstone 3 environments are set."  
     138    echo "It is assumed you want to run Greenstone 3." 
     139    echo "If you want to run Greenstone 2, please unset the" 
     140    echo "environment variable GSDL3SRCHOME before running GLI." 
     141    echo "" 
     142    elif [ "x$GSDL3SRCHOME" != "x" ]; then 
     143    echo "Only gsdl3srchome set" 
     144    gsdlpath=$GSDL3SRCHOME 
     145    _version=3 
     146    echo "$gsdlpath" 
     147    elif [ "x$GSDLHOME" != "x" ]; then 
    54148    gsdlpath=$GSDLHOME 
    55  
    56     # If it is not set, assume that the GLI (and thus GEMS) is installed as a subdirectory of Greenstone 
     149    _version=2 
     150    # If it is not set, assume that the GLI is installed as a subdirectory of Greenstone 
    57151    else 
    58152    gsdlpath=`(cd .. && pwd)` 
    59     fi 
    60 fi 
    61  
    62 # Check that the Greenstone installation looks OK 
    63 if [ "$glilang" = "es" ]; then 
    64     echo "Revisando GSDL: $gsdlpath" 
    65 elif [ "$glilang" = "fr" ]; then 
    66     echo "Vérification de GSDL: $gsdlpath" 
    67 elif [ "$glilang" = "ru" ]; then 
    68     echo "ðÒÏ×ÅÒËÁ GSDL: $gsdlpath" 
    69 else 
    70     echo "Checking GSDL: $gsdlpath" 
    71 fi 
    72 if [ ! -f "${gsdlpath}/setup.bash" ] ; then 
    73     echo 
    74     if [ "$glilang" = "es" ]; then 
    75     echo "No se pudo encontrar la instalación de Greenstone o está incompleta." 
    76         echo "Trate de reinstalar Greenstone y a continuación ejecute nuevamente" 
    77     echo "este guión." 
    78     elif [ "$glilang" = "fr" ]; then 
    79     echo "L'installation de Greenstone est introuvable ou incomplète." 
    80     echo "Essayez de réinstaller Greenstone et exécutez ce script à nouveau." 
    81     elif [ "$glilang" = "ru" ]; then 
    82     echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ." 
    83     echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á." 
    84     else 
    85     echo "The Greenstone installation could not be found, or is incomplete." 
    86     echo "Try reinstalling Greenstone then running this script again." 
    87     fi 
    88     exit 1 
    89 fi 
    90  
    91 # Setup Greenstone, unless it has already been done 
    92 if [ "x$GSDLHOME" = "x" ]; then 
    93     cd "$gsdlpath" 
    94     . setup.bash 
    95     cd "$thisdir" 
    96 fi 
     153    # Still need to find what version we are running: 
     154    # GS3 main directory contains file gs3-setup.sh, GS2 only setup.bash 
     155    get_version $gsdlpath 
     156    _version=$? 
     157    fi 
     158fi 
     159 
     160echo "Greenstone version found: $_version" 
     161 
     162# Check that the main Greenstone installation for the version we're running looks OK 
     163check_installation $gsdlpath $_version $glilang 
     164 
     165 
     166# Need to source the correct setup file depending on whether we are running 
     167# gs3 or gs2 
     168# If we're running version GS2 
     169if [ "$_version" -eq 2 ]; then 
     170    # Setup Greenstone 2, unless it has already been done 
     171    if [ "x$GSDLHOME" = "x" ]; then 
     172    cd "$gsdlpath" 
     173    . setup.bash 
     174    cd "$thisdir" 
     175    fi 
     176# else, if we're running GS3 
     177elif [ "$_version" -eq 3 ]; then 
     178    # Setup Greenstone 3, unless it has already been done 
     179    if [ "x$GSDL3HOME" = "x" -o "x$GSDL3SRCHOME" = "x" ]; then 
     180    cd "$gsdlpath" 
     181    . gs3-setup.sh 
     182    cd "$thisdir" 
     183    fi 
     184     
     185    ## if Greenstone version 3 is running, we want to set gsdl2path 
     186    ##  ---- Determine GSDLHOME ---- 
     187    ## may be already set, or manually entered here. 
     188    gsdl2path= 
     189     
     190    # Some users may set the above line manually 
     191    if [ "x$gsdl2path" = "x" ]; then 
     192        # Check the environment variable first 
     193    if [ "x$GSDLHOME" != "x" ]; then 
     194        echo "GSDLHOME environment variable is set to $GSDLHOME." 
     195        echo "Will use this to find build scripts." 
     196        gsdl2path=$GSDLHOME 
     197        # If it is not set, assume that the gs2build subdirectory of Greenstone 3 exists 
     198    else 
     199        gsdl2path=$GSDL3SRCHOME/gs2build 
     200    fi 
     201    fi 
     202    # Check that Greenstone 3's Greenstone 2 stuff looks OK (in gs2build) 
     203    check_installation $gsdl2path "" $glilang 
     204   
     205    # Setup Greenstone 3's gs2build, unless it has already been done 
     206    if [ "x$GSDLHOME" = "x" ]; then 
     207    cd "$gsdl2path" 
     208    . setup.bash 
     209    cd "$thisdir" 
     210    fi 
     211 
     212else  
     213    echo "Greenstone version unknown."     
     214    exit 1 
     215fi 
     216 
     217echo 
     218if [ "x$GSDL3SRCHOME" != "x" ]; then 
     219    echo "GSDL3SRCHOME is: $GSDL3SRCHOME" 
     220fi 
     221if [ "x$GSDL3HOME" != "x" ]; then 
     222    echo "GSDL3HOME is: $GSDL3HOME" 
     223fi 
     224if [ "x$GSDLHOME" != "x" ]; then 
     225    echo "GSDLHOME is: $GSDLHOME" 
     226fi 
     227echo 
     228 
    97229 
    98230 
     
    128260    echo "No se pudo localizar una versión apropiada de Java. Usted deberá " 
    129261    echo "instalar un Ambiente de Ejecución Java (versión 1.4 o superior) " 
    130     echo "antes de correr la Editar conjuntos de metadatos." 
     262    echo "antes de correr la $PROGNAME." 
    131263    elif [ "$glilang" = "fr" ]; then 
    132264    echo "Une version adéquate de Java n'a pas pu être localisée." 
    133265    echo "Vous devez installer un Java Runtime Environment (version 1.4 ou" 
    134     echo "supérieur) avant de démarrer Editer les jeux de méta-données." 
     266    echo "supérieur) avant de démarrer $PROGNAME." 
    135267    elif [ "$glilang" = "ru" ]; then 
    136268    echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java." 
    137269    echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ 1.4 ÉÌÉ ×ÙÛÅ)" 
    138     echo "ÐÅÒÅÄ ××ÏÄÏÍ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ." 
     270    echo "ÐÅÒÅÄ ××ÏÄÏÍ $PROGNAME." 
    139271    else 
    140272    echo "Failed to locate an appropriate version of Java. You must install a" 
    141273    echo "Java Runtime Environment (version 1.4 or greater) before running the" 
    142     echo "Greenstone Editor for Metadata Sets." 
    143     fi 
    144     exit 1 
    145 fi 
    146  
    147  
    148 ## -- Check the version of Java is new enough (1.4.0 or higher) to run the GEMS -- 
     274    echo "$PROGNAME." 
     275    fi 
     276    exit 1 
     277fi 
     278 
     279 
     280## -- Check the version of Java is new enough (1.4.0 or higher) to run the GLI -- 
    149281`$javapath -classpath . CheckJavaVersion > /dev/null` 
    150282if [ $? -ne 2 ] ; then 
     
    153285    echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en " 
    154286    echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar " 
    155     echo "la Editar conjuntos de metadatos. Por favor instale una nueva " 
    156     echo "versión del Ambiente de Ejecución Java (versión 1.4 o posterior)" 
    157     echo "y ejecute nuevamente este guión." 
     287    echo "la $PROGNAME. Por favor instale una " 
     288    echo "nueva versión del Ambiente de Ejecución Java (versión 1.4 o " 
     289    echo "posterior) y ejecute nuevamente este guión." 
    158290    elif [ "$glilang" = "fr" ]; then 
    159291    echo "La version de Java Runtime Environment que vous avez installée est" 
    160     echo "trop vielle pour faire fonctionner Editer les jeux de méta-données." 
     292    echo "trop vielle pour faire fonctionner $PROGNAME." 
    161293    echo "Veuillez installer une nouvelle version du JRE (version 1.4 ou plus" 
    162294    echo "récente) et redémarrez le script." 
    163295    elif [ "$glilang" = "ru" ]; then 
    164296    echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ," 
    165     echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ. ðÏÖÁÌÕÊÓÔÁ, " 
     297    echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, " 
    166298    echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ 1.4 ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É" 
    167299    echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ" 
    168300    else 
    169301    echo "The version of the Java Runtime Environment you have installed is too" 
    170     echo "old to run the Greenstone Editor for Metadata Sets. Please install a new" 
     302    echo "old to run the $PROGNAME. Please install a new" 
    171303    echo "version of the JRE (version 1.4 or newer) and rerun this script." 
    172304    fi 
    173305    exit 1 
    174306fi 
    175  
    176307 
    177308## ---- Check that the GEMS has been compiled ---- 
     
    179310    echo 
    180311    if [ "$glilang" = "es" ]; then 
    181     echo "Usted necesita compilar la Editar conjuntos de metadatos" 
     312    echo "Usted necesita compilar la $PROGNAME" 
    182313    echo "(por medio de makegli.sh) antes de ejecutar este guión." 
    183314    elif [ "$glilang" = "fr" ]; then 
    184     echo "Vous devez compiler le Editer les jeux de méta-données (en utilisant makegli.sh)" 
     315    echo "Vous devez compiler le $PROGNAME (en utilisant makegli.sh)" 
    185316    echo "avant d'exécuter ce script." 
    186317    elif [ "$glilang" = "ru" ]; then 
    187     echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ" 
     318    echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ $PROGNAME" 
    188319    echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ" 
    189320    else 
    190     echo "You need to compile the Greenstone Editor for Metadata Sets (using makegli.sh)" 
     321    echo "You need to compile the $PROGNAME (using makegli.sh)" 
    191322    echo "before running this script." 
    192323    fi 
     
    194325fi 
    195326 
    196  
    197327## ---- Finally, run the GEMS ---- 
    198328echo 
    199329if [ "$glilang" = "es" ]; then 
    200     echo "Ejecutando la Editar conjuntos de metadatos..." 
    201 elif [ "$glilang" = "fr" ]; then 
    202     echo "Exécution de Editer les jeux de méta-données" 
    203 elif [ "$glilang" = "ru" ]; then 
    204     echo "ôÅËÕÝÉÊ òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ..." 
    205 else 
    206     echo "Running the Greenstone Editor for Metadata Sets..." 
     330    echo "Ejecutando la $PROGNAME..." 
     331elif [ "$glilang" = "fr" ]; then 
     332    echo "Exécution de $PROGNAME..." 
     333elif [ "$glilang" = "ru" ]; then 
     334    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..." 
     335else 
     336    echo "Running the $PROGNAME..." 
    207337fi 
    208338 
     
    215345# -Xloggc:<file>   Write garbage collection log 
    216346 
    217 $javapath -classpath classes/:GLI.jar:lib/apache.jar org.greenstone.gatherer.gems.GEMS -gsdl $GSDLHOME $* 
    218  
     347# basic_command is the cmd string common to both Greenstone 3 and Greenstone 2 execution 
     348# (gs3 doesn't -gsdl3src $GSDL3SRCHOME passed to it, it needs $GSDL3HOME to find the collect dir) 
     349basic_command="$javapath -classpath classes/:GLI.jar:lib/apache.jar org.greenstone.gatherer.gems.GEMS" 
     350 
     351if [ "$_version" -eq 2 ]; then 
     352    `$basic_command -gsdl $GSDLHOME $*` 
     353elif [ "$_version" -eq 3 ]; then     
     354    `$basic_command -gsdl3 $GSDL3HOME $*` 
     355fi 
     356 
     357     
    219358if [ "$glilang" = "es" ]; then 
    220359    echo "¡Hecho!"