@echo off set GLILANG=en :: -------- Run the Greenstone Librarian Interface -------- :: This script must be run from within the directory in which it lives if exist gli.bat goto start if "%GLILANG%" == "en" echo This script must be run from the directory in which it resides. if "%GLILANG%" == "es" echo Este guiвn deberа ejecutarse desde el directorio en el que reside. if "%GLILANG%" == "fr" echo Ce script doit Иtre exВcutВ Е partir du rВpertoire dans lequel il se trouve. if "%GLILANG%" == "ru" echo Этот скрипт должен быть взят из директории, в которой он расположен goto exit :start if "%OS%" == "Windows_NT" goto progName :: Invoke a new command processor to ensure there's enough environment space if "%1" == "Second" goto progName command /E:2048 /C %0 Second %1 %2 %3 %4 %5 %6 %7 %8 %9 goto done :progName if not "%PROGNAME%" == "" goto findGSDL :: otherwise PROGNAME was not set, so default to the Greenstone Librarian Interface (GLI) program if "%GLILANG%" == "es" set PROGNAME=Biblioteca Digital Greenstone if "%GLILANG%" == "fr" set PROGNAME=Bibliothщcaire Greenstone if "%GLILANG%" == "ru" set PROGNAME=╔╬╘┼╥╞┼╩╙ Greenstone :: if the PROGNAME is still not set, then set the language to English if "%PROGNAME%" == "" set PROGNAME=Greenstone Librarian Interface if "%PROGABBR%" == "" set PROGABBR=GLI if "%PROGNAME_EN%" == "" set PROGNAME_EN=Greenstone Librarian Interface :findGSDL echo. if "%GLILANG%" == "en" echo %PROGNAME% (%PROGABBR%) if "%GLILANG%" == "en" echo Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato if "%GLILANG%" == "en" echo %PROGABBR% comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt if "%GLILANG%" == "en" echo This is free software, and you are welcome to redistribute it if "%GLILANG%" == "es" echo Interfaz de la %PROGNAME% (%PROGNAME_EN% - %PROGABBR%) if "%GLILANG%" == "es" echo Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato if "%GLILANG%" == "es" echo La Interfaz de la %PROGNAME% NO INCLUYE ABSOLUTAMENTE NINGUNA GARANT╓A. if "%GLILANG%" == "es" echo Para mayor informaciвn vea los tВrminos de la licencia en LICENSE.txt if "%GLILANG%" == "es" echo Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita if "%GLILANG%" == "fr" echo Interface du %PROGNAME% (%PROGNAME_EN% - %PROGABBR%) if "%GLILANG%" == "fr" echo Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato if "%GLILANG%" == "fr" echo %PROGABBR% est fourni sans AUCUNE GARANTIE; pour des dВtails, voir LICENSE.txt if "%GLILANG%" == "fr" echo Ceci est un logiciel libre, et vous Иtes invitВ Е le redistribuer if "%GLILANG%" == "ru" echo Библиотечный интерфейс %PROGNAME% (%PROGNAME_EN% - %PROGABBR%) if "%GLILANG%" == "ru" echo Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato if "%GLILANG%" == "ru" echo БИГ не дает АБСОЛЮТНО НИКАКИХ ГАРАНТИЙ; детали см. в тексте LICENSE.TXT if "%GLILANG%" == "ru" echo Это - свободно распространяемое программное обеспечение и Вы можете распространять его echo. :: ---- Determine path to Greenstone home for GS2 and GS3 ---- set GSDLPATH= :: Some users may set the above line manually, or it may be set as an argument set _VERSION= if not "%GSDLPATH%" == "" goto getVer :: Otherwise gsdlpath is not yet set :: Check the env vars first if not "%GSDL3SRCHOME%" == "" goto ver3 if not "%GSDLHOME%" == "" goto ver2 :: If not set, the default location for the GLI is a subdirectory of Greenstone set GSDLPATH=.. goto getVer :getVer call gsdlver.bat %GSDLPATH% %_VERSION% > nul if "%_VERSION%" == "1" goto exit ::if we are running GS2, free up any pre-set GS3 environment variables since we won't need them if "%_VERSION%" == "2" set GSDL3SRCHOME= if "%_VERSION%" == "2" set GSDL3HOME= goto testGSDL :ver3 set _VERSION=3 set GSDLPATH=%GSDL3SRCHOME% :: if GS2 is now also set, then both GS3 and GS2 are set: :: warn the user that we have defaulted to GS3 if not "%GSDLHOME%" == "" echo Both Greenstone 2 and Greenstone 3 environments are set. if not "%GSDLHOME%" == "" echo It is assumed you want to run Greenstone 3. if not "%GSDLHOME%" == "" echo If you want to run Greenstone 2, please unset the if not "%GSDLHOME%" == "" echo environment variable GSDL3SRCHOME before running GLI. if not "%GSDLHOME%" == "" echo. goto testGSDL :ver2 set _VERSION=2 set GSDLPATH=%GSDLHOME% ::free up the GS3 environment variables since we are running GS2 and don't need them set GSDL3SRCHOME= set GSDL3HOME= goto testGSDL :testGSDL set CHECK=1 call chkinst.bat "%GSDLPATH%" %_VERSION% %GLILANG% %CHECK% > nul if "%CHECK%" == "1" goto exit :: otherwise installation worked well goto prepGSDL :prepGSDL :: Greenstone 3 case if "%_VERSION%" == "3" goto prepGS3 if not "%_VERSION%" == "2" echo "Greenstone version unknown" if not "%_VERSION%" == "2" goto :exit :: Otherwise, we are dealing with Greenstone 2 :: Setup Greenstone 2, unless it has already been done if not "%GSDLHOME%" == "" goto doneGSDL call "%GSDLPATH%\setup.bat" SetEnv > nul goto doneGSDL :prepGS3 set GSDL2PATH= : Some users may set the above line manually if "%GSDL3SRCHOME%" == "" goto setup3 if "%GSDL3HOME%" == "" goto setup3 ::otherwise goto gs2build :setup3 :: Setup Greenstone 3, unless it has already been done cd | winutil\setvar.exe GLIDIR > %TMP%\setgli.bat call %TMP%\setgli.bat del %TMP%\setgli.bat cd "%GSDLPATH%" call gs3-setup.bat SetEnv > nul cd %GLIDIR% goto gs2build :gs2build :: If Greenstone version 3 is running, we want to set gsdl2path :: Determine GSDLHOME for GS3 if not "%GSDL2PATH%" == "" goto setupGS2 :: GSDL2PATH is not yet set. :: And if GSDLHOME is not set either, then assume :: that the gs2build subdir of GS3 exists if "%GSDLHOME%" == "" set GSDL2PATH=%GSDL3SRCHOME%\gs2build if "%GSDLHOME%" == "" goto setupGS2 :: Otherwise GSDLHOME is set, so set GSDL2PATH to GSDLHOME echo GSDLHOME environment variable is set to %GSDLHOME%. echo Will use this to find build scripts. set GSDL2PATH=%GSDLHOME% :setupGS2 set CHECK=1 call chkinst.bat "%GSDL2PATH%" 2 %GLILANG% %CHECK% > nul if "%CHECK%" == "1" goto exit :: otherwise installation worked well :: Setup Greenstone, unless it has already been done if "%GSDLHOME%" == "" call "%GSDL2PATH%\setup.bat" SetEnv > nul :: Either way, we can now dispose of GSDL2PATH set GSDL2PATH= goto doneGSDL :doneGSDL :: GSDLPATH is no longer needed, since GSDLHOME should now be set set GSDLPATH= :findPerl :: ---- Check Perl exists ---- set PERLPATH= :: Some users may set the above line manually - If you do this, you need to :: make sure that perl is in your path otherwise lucene collections may not :: work if not "%PERLPATH%" == "" goto testPerl :: Check if Perl is on the search path echo %PATH%| winutil\which.exe perl.exe | winutil\setvar.exe PERLPATH > %TMP%\setperl.bat call %TMP%\setperl.bat del %TMP%\setperl.bat if not "%PERLPATH%" == "" goto testPerl :: If not, try GSDLHOME\bin\windows\perl\bin if exist "%GSDLHOME%\bin\windows\perl\bin\perl.exe" goto gsdlPerl :: Still haven't found anything, so try looking in the registry (gulp!) type nul > %TMP%\perl.reg regedit /E %TMP%\perl.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Perl" type %TMP%\perl.reg > %TMP%\perl.txt del %TMP%\perl.reg winutil\findperl.exe %TMP%\perl.txt | winutil\setvar.exe PERLPATH > %TMP%\setperl.bat del %TMP%\perl.txt call %TMP%\setperl.bat del %TMP%\setperl.bat :: If nothing was found in the registry, we're stuck if "%PERLPATH%" == "" goto noPerl :: if have found perl in registry, but not in path, then we need to :: add it to path for lucene stuff. if "%OS%" == "Windows_NT" set PATH=%PATH%;%PERLPATH% if "%OS%" == "" set PATH="%PATH%";"%PERLPATH%" goto testPerl :gsdlPerl set PERLPATH=%GSDLHOME%\bin\windows\perl\bin :testPerl :: Check that a Perl executable has been found if not exist "%PERLPATH%\perl.exe" goto noPerl echo PERL: echo %PERLPATH% echo. goto findJava :noPerl echo. if "%GLILANG%" == "en" echo The Greenstone Librarian Interface requires Perl in order to operate, if "%GLILANG%" == "en" echo but Perl could not be detected on your system. Please ensure that Perl if "%GLILANG%" == "en" echo is installed and is on your search path, then try again. if "%GLILANG%" == "es" echo La Interfaz de la Biblioteca Digital Greenstone requiere Perl para poder if "%GLILANG%" == "es" echo operar, pero Вste no aparece en su sistema. Por favor asegгrese de if "%GLILANG%" == "es" echo que Perl estа instalado y se encuentra en su ruta de bгsqueda. if "%GLILANG%" == "es" echo A continuaciвn ejecute nuevamente este guiвn. if "%GLILANG%" == "fr" echo Greenstone Librarian Interface nВcessite perl pour son fonctionnement, if "%GLILANG%" == "fr" echo mais perl n'a pas pu Иtre dВtectВ dans votre systКme. Veuillez vous if "%GLILANG%" == "fr" echo assurer que perl est installВ et est spВcifiВ dans votre chemin de if "%GLILANG%" == "fr" echo recherche, puis redВmarrez ce script. if "%GLILANG%" == "ru" echo Библиотечный интерфейс Greenstone требует Perl, чтобы иметь возможность if "%GLILANG%" == "ru" echo работать, но Perl не был в вашей системе. Пожалуйста, подтвердите, if "%GLILANG%" == "ru" echo что Perl установлен и находится на вашем пути поиска, затем if "%GLILANG%" == "ru" echo повторновведите этот скрипт. goto exit :findJava if "%_VERSION%" == "2" ( set SEARCH4J_EXECUTABLE=%GSDLHOME%\bin\windows\search4j.exe set HINT=%GSDLHOME%\packages\jre ) if "%_VERSION%" == "3" ( set SEARCH4J_EXECUTABLE=%GSDL3SRCHOME%\bin\search4j.exe set HINT=%GSDL3SRCHOME%\packages\jre ) "%SEARCH4J_EXECUTABLE%" -e -m "1.4.0_00" -p "%HINT%" | winutil\setvar.exe JAVA_EXECUTABLE > %TMP%\set_java_executable.bat call "%TMP%\set_java_executable.bat" del "%TMP%\set_java_executable.bat" if "%JAVA_EXECUTABLE%" == "" goto noJava echo Java: echo %JAVA_EXECUTABLE% echo. goto checkGLI :noJava echo. if "%GLILANG%" == "en" echo Failed to locate an appropriate version of Java. You must install a if "%GLILANG%" == "en" echo Java Runtime Environment (version 1.4 or greater) before running the if "%GLILANG%" == "en" echo Greenstone Librarian Interface. if "%GLILANG%" == "es" echo No se pudo localizar una versiвn apropiada de Java. Usted deber if "%GLILANG%" == "es" echo instalar un Ambiente de Ejecuciвn Java (versiвn 1.4 o superior) if "%GLILANG%" == "es" echo antes de correr la Interfaz de la Biblioteca Digital Greenstone. if "%GLILANG%" == "fr" echo Une version ad?quate de Java n'a pas pu ?tre localis?e. Vous devez if "%GLILANG%" == "fr" echo installer un Java Runtime Environment (version 1.4 ou sup?rieur) if "%GLILANG%" == "fr" echo avant de d?marrer Greenstone Librarian Interface. if "%GLILANG%" == "ru" echo Не уА лось опреАелЪть местон хоКАенЪе соответствующей версЪЪ Java. if "%GLILANG%" == "ru" echo ?ы АолКны уст новЪть Java Runtime Environment (версЪю 1.4 ЪлЪ выше) переА ввоАом if "%GLILANG%" == "ru" echo бЪблЪотечного Ънтерфейс Greenstone. goto exit :checkGLI :: ---- Check that the GLI has been compiled ---- if exist "classes/org/greenstone/gatherer/Gatherer.class" goto runGLI if exist "GLI.jar" goto runGLI echo. if "%GLILANG%" == "en" echo You need to compile the Greenstone Librarian Interface (using makegli.bat) if "%GLILANG%" == "en" echo before running this script. if "%GLILANG%" == "es" echo Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone if "%GLILANG%" == "es" echo (por medio de makegli.bat) antes de ejecutar este guiвn. if "%GLILANG%" == "fr" echo Vous devez compiler le Greenstone Interface (en utilisant makegli.bat) if "%GLILANG%" == "fr" echo avant d'exВcuter ce script. if "%GLILANG%" == "ru" echo Вы должны компилировать библиотечный интерфейс Greenstone (используя makegli.bat) if "%GLILANG%" == "ru" echo перед вводом этого скрипта goto exit :runGLI if not "%_VERSION%" == "" ( echo Greenstone Major Version: echo %_VERSION% echo. ) if not "%GSDL3SRCHOME%" == "" ( echo GSDL3SRCHOME: echo %GSDL3SRCHOME% echo. ) if not "%GSDL3HOME%" == "" ( echo GSDL3HOME: echo %GSDL3HOME% echo. ) if not "%GSDLHOME%" == "" ( echo GSDLHOME: echo %GSDLHOME% echo. ) :: ---- Explain how to bypass Imagemagick and Ghostscript bundled with Greenstone if needed ---- echo. if exist "%GSDLHOME%\bin\windows\ghostscript\bin\*.*" echo GhostScript bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to %GSDLHOME%\bin\windows and rename the folder called ghostscript to something else. echo. echo. if exist "%GSDLHOME%\bin\windows\imagemagick\*.*" echo ImageMagick bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to %GSDLHOME%\bin\windows and rename the folder called imagemagick to something else. echo. echo. :: ---- Finally, run the GLI ---- if "%GLILANG%" == "en" echo Running the %PROGNAME%... if "%GLILANG%" == "es" echo Ejecutando la %PROGNAME%... if "%GLILANG%" == "fr" echo ExВcution de %PROGNAME% if "%GLILANG%" == "ru" echo Текущий библи %PROGNAME%... :: -Xms32M To set minimum memory :: -Xmx32M To set maximum memory :: -verbose:gc To set garbage collection messages :: -Xincgc For incremental garbage collection :: -Xprof Function call profiling :: -Xloggc: Write garbage collection log :: Run GS3 if version = 3 if "%_VERSION%" == "3" "%JAVA_EXECUTABLE%" -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl %GSDLHOME% -gsdlos %GSDLOS% -gsdl3 %GSDL3HOME% -gsdl3src %GSDL3SRCHOME% -perl %PERLPATH% %1 %2 %3 %4 %5 %6 %7 %8 %9 if "%_VERSION%" == "3" goto finRun :: Run GS2 since version is 2: :: if FLI is running, we don't want the local Greenstone library server running if "%PROGABBR%" == "FLI" goto webLib :: Else we're running GLI, so we want the local Greenstone library server (if server.exe exists, otherwise it will be webLib) if exist "%GSDLHOME%\server.exe" goto localLib :webLib "%JAVA_EXECUTABLE%" -Xmx128M -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl %GSDLHOME% -gsdlos %GSDLOS% -perl %PERLPATH% %1 %2 %3 %4 %5 %6 %7 %8 %9 if ERRORLEVEL 2 if not "%localLibFailed%" == "true" ( echo webLib failed, going to localLib set webLibFailed=true goto localLib ) goto finRun :localLib "%JAVA_EXECUTABLE%" -Xmx128M -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl %GSDLHOME% -gsdlos %GSDLOS% -perl %PERLPATH% -local_library %GSDLHOME%\server.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 if ERRORLEVEL 2 if not "%webLibFailed%" == "true" ( echo localLib failed, going to webLib set localLibFailed=true goto webLib ) goto finRun :finRun if "%GLILANG%" == "en" echo Done! if "%GLILANG%" == "es" echo нHecho! if "%GLILANG%" == "fr" echo TerminВ! if "%GLILANG%" == "ru" echo Выполнено! goto done :exit echo. pause :done :: ---- Clean up ---- set PERLPATH= set JAVA_EXECUTABLE=