source: main/trunk/gli/findjava.sh@ 21317

Last change on this file since 21317 was 21317, checked in by ak19, 14 years ago

Had formatted variables for echo output statements with Windows' percent signs instead of with Linux' dollar signs.

  • Property svn:executable set to *
File size: 6.3 KB
RevLine 
[19355]1# We will already be in the correct folder (GLI folder), which would
2# contain a compiled up search4j if this GLI is part of an installation.
3# If a search4j executable is not there, then it means this is an SVN checkout.
4# In such a case, it's up to the user checking things out to ensure JAVA_HOME
5# is set and moreover points to the correct version of the Java.
6
7# Function to check if any JAVA_HOME is set and if so, try using that
8function try_java {
9 MIN_DISPLAY_VERSION=${1};
10
11 if [ "x$JAVA_HOME" = "x" -o ! -f "$JAVA_HOME/bin/java" ]; then
[19737]12 no_java "$MIN_DISPLAY_VERSION"
13 return $?
[19355]14 else
15 # There is a JAVA_HOME already set, we're going to try using that
16 javapath="$JAVA_HOME/bin/java"
[20655]17 javahome="$JAVA_HOME"
[19355]18 # Print a warning that we're going to use whatever JAVA_HOME is set (fingers crossed)
[19737]19 if [ "x$gslang" = "x" -o "$gslang" = "en" ]; then
[20636]20 echo
[19355]21 echo "***************************************************************************"
22 echo "WARNING: "
[20636]23 echo "Java Runtime not bundled with this Greenstone installation."
[21317]24 echo "Using JAVA_HOME: $JAVA_HOME"
25 echo "(NOTE: this needs to be $MIN_DISPLAY_VERSION or higher.)"
[19355]26 echo "***************************************************************************"
[20636]27 echo
[19355]28 fi
29 echo "Java:"
30 echo $javapath
31 echo
32 return 0
33 fi
34}
35
36function no_java {
37 MIN_DISPLAY_VERSION=${1};
38
39 echo
[19737]40 if [ "$gslang" = "es" ]; then
[19355]41 echo "No se pudo localizar una versión apropiada de Java. Usted deberá "
[20377]42 echo "instalar un Ambiente de Ejecución Java (versión $MIN_DISPLAY_VERSION o superior) "
[19355]43 echo "antes de correr la Interfaz de la $PROGNAME."
[19737]44 elif [ "$gslang" = "fr" ]; then
[19355]45 echo "Une version adéquate de Java n'a pas pu être localisée."
[20377]46 echo "Vous devez installer un Java Runtime Environment (version $MIN_DISPLAY_VERSION ou"
[19355]47 echo "supérieur) avant de démarrer $PROGNAME."
48 echo "Si vous avez Java installé sur votre ordinateur veuillez vérifier la variable"
49 echo "d'environnement JAVA_HOME."
[19737]50 elif [ "$gslang" = "ru" ]; then
[19355]51 echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java."
[20377]52 echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ $MIN_DISPLAY_VERSION ÉÌÉ ×ÙÛÅ)"
[19355]53 echo "ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ $PROGNAME."
54 else
55 echo "Failed to locate an appropriate version of Java. You must install a"
[20377]56 echo "Java Runtime Environment (version $MIN_DISPLAY_VERSION or greater) before running the"
[19355]57 echo "$PROGNAME."
58 echo "If you have Java intalled on your machine please set the environment variable JAVA_HOME."
59 fi
60 return 1
61}
62
63function set_java_exec {
64 SEARCH4J_EXECUTABLE=${1};
65 MINIMUM_JAVA_VERSION=${2};
66 MIN_DISPLAY_VERSION=${3};
67
68 # Give search4j a hint to find Java depending on the platform
69 if [ $GSDLOS = linux ]; then
[20186]70 HINT=`cd "$GSDLHOME";pwd`/packages/jre
[19355]71 elif [ $GSDLOS = darwin ]; then
[20377]72 HINT=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
73 #/System/Library/Frameworks/JavaVM.framework/Home
[19355]74 fi
75
76 javapath="`"$SEARCH4J_EXECUTABLE" -e -p "$HINT" -m $MINIMUM_JAVA_VERSION`"
[20655]77 javahome="`"$SEARCH4J_EXECUTABLE" -p "$HINT" -m $MINIMUM_JAVA_VERSION`"
[19769]78
[19355]79 if [ "$?" != "0" ]; then
80
81 OLDVER="`"$SEARCH4J_EXECUTABLE" -v -p "$HINT"`"
82
83 if [ "$?" = "0" ]; then
84
[19737]85 if [ "$gslang" = "es" ]; then
[19355]86 echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en "
87 echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar "
88 echo "la Interfaz de la $PROGNAME. Por favor instale "
89 echo "una nueva versión del Ambiente de Ejecución Java (versión $MIN_DISPLAY_VERSION o "
90 echo "posterior) y ejecute nuevamente este guión."
[19737]91 elif [ "$gslang" = "fr" ]; then
[19355]92 echo "La version de Java Runtime Environment que vous avez installée est"
93 echo "trop vielle pour faire fonctionner $PROGNAME."
94 echo "Veuillez installer une nouvelle version du JRE (version $MIN_DISPLAY_VERSION ou plus"
95 echo "récente) et redémarrez le script."
[19737]96 elif [ "$gslang" = "ru" ]; then
[19355]97 echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ,"
98 echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, "
99 echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ $MIN_DISPLAY_VERSION ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É"
100 echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ"
101 else
102 echo "The version of the Java Runtime Environment you have installed ($OLDVER)"
103 echo "is too old to run the $PROGNAME. Please install a new"
104 echo "version of the JRE (version $MIN_DISPLAY_VERSION or newer) and rerun this script."
105 fi
106 return 1
107
108 else
[19737]109 no_java "$MIN_DISPLAY_VERSION"
110 return $?
[19355]111 fi
112
113 fi
114 echo "Java:"
115 echo $javapath
116 echo
117 return 0
118}
119
120
121## ---- Check Java ----
122# Some users may set this line manually
123#JAVA_HOME=
[19737]124gslang=$1
[19769]125PROGNAME=$2
[19355]126MINIMUM_JAVA_VERSION=1.4.0_00
127MIN_DISPLAY_VERSION=1.4
128
129# sus out search4j
[19740]130# first look for compiled search4j executable inside the current folder
[19769]131if [ -x search4j ]; then
[19355]132 SEARCH4J_EXECUTABLE=search4j
[19769]133elif [ -x "$GSDLHOME/bin/$GSDLOS/search4j" ]; then
[20186]134 SEARCH4J_EXECUTABLE="$GSDLHOME/bin/$GSDLOS/search4j"
[19769]135elif [ -x "$GSDL3SRCHOME/bin/$GSDLOS/search4j" ]; then
[20186]136 SEARCH4J_EXECUTABLE="$GSDL3SRCHOME/bin/search4j"
[19769]137elif [ -x "../bin/$GSDLOS/search4j" ]; then
[19740]138 SEARCH4J_EXECUTABLE=../bin/$GSDLOS/search4j
[19769]139elif [ -x "../bin/search4j" ]; then
[19740]140 SEARCH4J_EXECUTABLE=../bin/search4j
141else
142 echo "Couldn't determine the location of the search4j executable"
143 echo "If you are running Greenstone2"
144 echo " * check GSDLHOME is set"
145 echo " * check bin/$GSDLOS/search4j exists"
146 echo " * check bin/$GSDLOS/search4j is executable"
147 echo "If you are running Greenstone3"
148 echo " * check GSDL3SRCHOME is set"
149 echo " * check bin/search4j exists"
150 echo " * check bin/search4j is executable"
151 echo " * try running 'ant compile-search4j'"
[19355]152fi
153
154# Now run set_java_exec with search4j if we found one, else try javahome
155if [ "x$SEARCH4J_EXECUTABLE" != "x" ]; then
156 set_java_exec "$SEARCH4J_EXECUTABLE" "$MINIMUM_JAVA_VERSION" "$MIN_DISPLAY_VERSION"
157 retval=$?
158else
159 try_java "$MIN_DISPLAY_VERSION"
160 retval=$?
161fi
162return $retval
Note: See TracBrowser for help on using the repository browser.