@echo off setlocal enabledelayedexpansion :: Environment Variables passed in: EXP_LANG :: As a result of executing this script, the JAVA_EXECUTABLE and EXP_JAVA_HOME :: environment variables will be set, but only if Perl was found. :findJava :: We should already be in the folder containing a compiled-up search4j.exe :: if this Expeditee is part of an installation. :: If search4j.exe is not there, then it means this is an SVN checkout. :: In such a case, it's up to the user checking things out to ensure JAVA_HOME :: is set and moreover points to the correct version of the Java. set DISPLAY_MIN_VERSION=1.8 set MIN_VERSION=1.8.0_00 set SEARCH4J_EXECUTABLE=search4j.exe ::set HINT=%EXPEDITEE_HOME%\packages\jre set HINT=packages\jre if exist %SEARCH4J_EXECUTABLE% goto setJexec set SEARCH4J_EXECUTABLE=%EXPEDITEE_HOME%\bin\search4j.exe if not exist "%SEARCH4J_EXECUTABLE%" goto tryJava :: JAVA_EXECUTABLE is the value returned by running search4j -e -m MIN_VERSION -p HINT :setJexec for /f "tokens=* usebackq" %%G in (`"%SEARCH4J_EXECUTABLE%" -e -m '%MIN_VERSION%' -p %HINT%`) do set JAVA_EXECUTABLE=%%G if "%JAVA_EXECUTABLE%" == "" goto noJava echo Java: echo %JAVA_EXECUTABLE% echo. :: we know that works, so we can set the local javahome (for Expeditee) as well for /f "tokens=* usebackq" %%G in (`"%SEARCH4J_EXECUTABLE%" -m '%MIN_VERSION%' -p %HINT%`) do set EXP_JAVA_HOME=%%G :: found java, JAVA_EXECUTABLE and EXP_JAVA_HOME env vars set, can exit this script goto exit :tryJava if "%JAVA_HOME%" == "" goto noJava if not exist "%JAVA_HOME%\bin\java.exe" goto noJava if "%GLILANG%" == "en" ( echo. echo *************************************************************************** echo WARNING: echo Java Runtime not bundled with this %PROGNAME% installation. echo Using JAVA_HOME: !JAVA_HOME! echo ^(NOTE: this needs to be %DISPLAY_MIN_VERSION% or higher.^) echo *************************************************************************** echo. ) :: Try to use this version set JAVA_EXECUTABLE=%JAVA_HOME%\bin\java set EXP_JAVA_HOME=%JAVA_HOME% goto exit :noJava echo. if "%EXP_LANG%" == "en" ( echo Failed to locate an appropriate version of Java. You must install a echo Java Runtime Environment ^(version %DISPLAY_MIN_VERSION% or greater^) before running the echo %PROGNAME%. ) goto exit :exit set SEARCH4J_EXECUTABLE= set MIN_VERSION= set DISPLAY_MIN_VERSION= endlocal & set JAVA_EXECUTABLE=%JAVA_EXECUTABLE%& set EXP_JAVA_HOME=%EXP_JAVA_HOME%