source: main/trunk/gli/findjava.bat

Last change on this file was 36090, checked in by kjdon, 2 years ago

if no JAVA_HOME set, don't give up, try to find java on the search path. Code copied from makegli, which will use javac on search path if no JAVA_HOME set. otherwise it led to a situation where you can compile gli but can't run client gli, due to java issues.

  • Property svn:executable set to *
File size: 4.8 KB
Line 
1@echo off
2setlocal enabledelayedexpansion
3
4:: Environment Variables passed in: _VERSION, GLILANG and possibly also
5:: GSDLHOME and/or GSDL3SRCHOME.
6:: As a result of executing this script, the JAVA_EXECUTABLE and GS_JAVA_HOME
7:: environment variables will be set, but only if Perl was found.
8
9:findJava
10
11:: We will already be in the correct folder (GLI folder), which would
12:: contain a compiled up search4j.exe if this GLI is part of an installation.
13:: If search4j.exe is not there, then it means this is an SVN checkout.
14:: In such a case, it's up to the user checking things out to ensure JAVA_HOME
15:: is set and moreover points to the correct version of the Java.
16
17set DISPLAY_MIN_VERSION=1.4
18set MIN_VERSION=1.4.0_00
19set SEARCH4J_EXECUTABLE=search4j.exe
20if exist %SEARCH4J_EXECUTABLE% goto setJexec
21if "%_VERSION%" == "" goto tryJava
22 :: _version ends up being 1 instead of empty when GLIHOME is set
23 :: If GLIHOME is set, we may have search4j and jre for several OS
24 :: Since this is a Windows batch file, set up the windows search4j and especially jre
25 if "%_VERSION%" == "1" if not "%GLIHOME%" == "" (
26 rem echo @@@ Running standalone client-GLI. Using glihome=!GLIHOME!
27 set SEARCH4J_EXECUTABLE=!GLIHOME!\bin\windows\search4j.exe
28 set HINT=!GLIHOME!\packages\windows\jre
29 )
30 :: else we look for a compiled version of search4j in a GS installation
31 if "%_VERSION%" == "2" (
32 set SEARCH4J_EXECUTABLE=!GSDLHOME!\bin\windows\search4j.exe
33 set HINT=!GSDLHOME!\packages\jre
34 )
35 if "%_VERSION%" == "3" (
36 set SEARCH4J_EXECUTABLE=!GSDL3SRCHOME!\bin\search4j.exe
37 set HINT=!GSDL3SRCHOME!\packages\jre
38 )
39 if not exist "%SEARCH4J_EXECUTABLE%" goto tryJava
40
41:setJexec
42 "%SEARCH4J_EXECUTABLE%" -e -m "%MIN_VERSION%" -p "%HINT%" | winutil\setvar.exe JAVA_EXECUTABLE > %TMP%\set_java_executable.bat
43 call "%TMP%\set_java_executable.bat"
44 del "%TMP%\set_java_executable.bat"
45
46 if "%JAVA_EXECUTABLE%" == "" goto noJava
47 echo Java:
48 echo %JAVA_EXECUTABLE%
49 echo.
50
51 :: we know that works, so we can set the local javahome (for Greenstone) as well
52 "%SEARCH4J_EXECUTABLE%" -m "%MIN_VERSION%" -p "%HINT%" | winutil\setvar.exe GS_JAVA_HOME > %TMP%\set_java_home.bat
53 call "%TMP%\set_java_home.bat"
54 del "%TMP%\set_java_home.bat"
55
56 ::set JAVA_HOME=%GS_JAVA_HOME%
57 ::set PATH=%GS_JAVA_HOME%\bin;%PATH%
58
59:: found java, JAVA_EXECUTABLE and GS_JAVA_HOME env vars set, can exit this script
60 goto exit
61
62:tryJava
63if "%JAVA_HOME%" == "" goto noJavaHome
64if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
65 if "%GLILANG%" == "en" (
66 echo.
67 echo ***************************************************************************
68 echo WARNING:
69 echo Java Runtime not bundled with this Greenstone installation.
70 echo Using JAVA_HOME: !JAVA_HOME!
71 echo ^(NOTE: this needs to be %DISPLAY_MIN_VERSION% or higher.^)
72 echo ***************************************************************************
73 echo.
74 )
75 :: Try to use this version
76 set JAVA_EXECUTABLE=%JAVA_HOME%\bin\java
77 set GS_JAVA_HOME=%JAVA_HOME%
78 ::set JAVA_HOME=%GS_JAVA_HOME%
79 ::set PATH=%GS_JAVA_HOME%\bin;%PATH%
80 goto exit
81
82:noJavaHome
83 :: Check if Java is on the search path
84 echo %PATH%| winutil\which.exe java.exe | winutil\setvar.exe MYJAVAPATH > setjava.bat
85 call setjava.bat
86 del setjava.bat
87
88 if "%MYJAVAPATH%" == "" goto noJava
89 set JAVA_EXECUTABLE=%MYJAVAPATH%\java
90 echo JAVA_HOME not set, using java found on search path %JAVA_EXECUTABLE%
91 goto exit
92
93:noJava
94 echo.
95 if "%GLILANG%" == "en" (
96 echo Failed to locate an appropriate version of Java. You must install a
97 echo Java Runtime Environment ^(version %DISPLAY_MIN_VERSION% or greater^) before running the
98 echo Greenstone Librarian Interface.
99 )
100
101 if "%GLILANG%" == "es" (
102 echo No se pudo localizar una versi¢n apropiada de Java. Usted deber
103 echo instalar un Ambiente de Ejecuci¢n Java ^(versi¢n %DISPLAY_MIN_VERSION% o superior^)
104 echo antes de correr la Interfaz de la Biblioteca Digital Greenstone.
105 )
106
107 if "%GLILANG%" == "fr" (
108 echo Une version ad?quate de Java n'a pas pu ?tre localis?e. Vous devez
109 echo installer un Java Runtime Environment ^(version %DISPLAY_MIN_VERSION% ou sup?rieur^)
110 echo avant de d?marrer Greenstone Librarian Interface.
111 )
112
113 if "%GLILANG%" == "ru" (
114 echo ¥ 〠«®áì ®¯à¥€¥«šâì ¬¥áâ®­ 宊€¥­š¥ ᮮ⢥âáâ¢ãî饩 ¢¥àᚚ Java.
115 echo ?ë €®«Š­ë ãáâ ­®¢šâì Java Runtime Environment ^(¢¥àášî %DISPLAY_MIN_VERSION% š«š ¢ëè¥^) ¯¥à¥€ ¢¢®€®¬
116 echo ¡š¡«š®â¥ç­®£® š­â¥à䥩á Greenstone.
117 )
118 goto exit
119
120:exit
121set SEARCH4J_EXECUTABLE=
122set MIN_VERSION=
123set DISPLAY_MIN_VERSION=
124
125endlocal & set JAVA_EXECUTABLE=%JAVA_EXECUTABLE%& set GS_JAVA_HOME=%GS_JAVA_HOME%
126::& set JAVA_HOME=%JAVA_HOME%& set PATH=%PATH%
127
128::echo ** JAVA_HOME: %JAVA_HOME%
129::echo ** PATH: %PATH%
Note: See TracBrowser for help on using the repository browser.