[24446] | 1 | @echo off
|
---|
| 2 | pushd "%CD%"
|
---|
| 3 | CD /D "%~dp0"
|
---|
[26510] | 4 |
|
---|
[24446] | 5 | set extdesc=the Solr Extension
|
---|
[29749] | 6 | if "%GSDL3SRCHOME%" == "" echo Run the toplevel gs3-setup.bat before calling this script& goto End
|
---|
[24446] | 7 |
|
---|
[29749] | 8 | rem IF USING TOMCAT SERVER FOR SOLR
|
---|
| 9 | :: If using tomcat, read the tomcat host and port from the toplevel GS3 build.properties
|
---|
| 10 | :: http://en.kioskea.net/faq/1757-how-to-read-a-file-line-by-line
|
---|
| 11 | :: The following reads build.properties line by line, tokenizing it around the = sign, then
|
---|
| 12 | :: sets the SOLR_PORT and SOLR_HOST to the values of tomcat.port and tomcat.host properties
|
---|
| 13 |
|
---|
[32432] | 14 | set SOLR_PORT=8383
|
---|
| 15 | set SOLR_HOST=127.0.0.1
|
---|
[30574] | 16 |
|
---|
| 17 | setlocal enabledelayedexpansion
|
---|
| 18 | set FOUNDPROPS=
|
---|
[32432] | 19 | :: The Solr servlet should only be locally accessible, thus restricting the protocol to http as
|
---|
| 20 | :: https certificates can't be issued for localhost/127.0.0.1 (https://letsencrypt.org/docs/certificates-for-localhost/)
|
---|
| 21 | :: This means we use the properties localhost.server.http (defaults to 127.0.0.1) and localhost.port.http
|
---|
| 22 | :: to construct the solr servlet url, rather than properties tomcat.server and tomcat.port.https
|
---|
[29749] | 23 | :: Loosely based on
|
---|
| 24 | :: http://stackoverflow.com/questions/7708681/how-to-read-from-a-properties-file-using-batch-script
|
---|
[30591] | 25 | :: for with usebackq option allows spaces in filepath to be protected with double quotes
|
---|
| 26 | :: (backquotes will be used for executing the commands)
|
---|
[31755] | 27 | :: See also https://stackoverflow.com/questions/5553040/batch-file-for-loop-with-spaces-in-dir-name
|
---|
| 28 | :: for alternative suggestions useful in other instances
|
---|
[30591] | 29 | FOR /F "usebackq tokens=1,2 delims==" %%G IN ("%GSDL3SRCHOME%\build.properties") DO (
|
---|
[32432] | 30 | if "%%G"=="localhost.server.http" set SOLR_HOST=%%H& set FOUNDPROPS=!FOUNDPROPS!found
|
---|
| 31 | if "%%G"=="localhost.port.http" set SOLR_PORT=%%H& set FOUNDPROPS=!FOUNDPROPS!found
|
---|
[30574] | 32 | :: break out of the loop as soon as both properties are found
|
---|
| 33 | if "!FOUNDPROPS!" == "foundfound" goto foundall
|
---|
[29749] | 34 | )
|
---|
[30574] | 35 |
|
---|
| 36 | :foundall
|
---|
[30783] | 37 | endlocal& set SOLR_HOST=%SOLR_HOST%& set SOLR_PORT=%SOLR_PORT%
|
---|
[29749] | 38 | echo Tomcat host: %SOLR_HOST%
|
---|
| 39 | echo Tomcat port: %SOLR_PORT%
|
---|
| 40 |
|
---|
| 41 |
|
---|
| 42 | rem IF USING JETTY SERVER FOR SOLR
|
---|
[24485] | 43 | :: The port Jetty runs on:
|
---|
| 44 | set SOLR_JETTY_PORT=8983
|
---|
| 45 |
|
---|
| 46 | :: The port Jetty listens on for a "stop" command
|
---|
| 47 | set JETTY_STOP_PORT=8079
|
---|
| 48 |
|
---|
[24446] | 49 | if "%OS%" == "Windows_NT" goto WinNT
|
---|
| 50 | if "%OS%" == "" goto Win95
|
---|
| 51 | if "%GSDLLANG%" == "en" echo Setup failed - your PATH has not been set
|
---|
| 52 | if "%GSDLLANG%" == "es" echo No se pudo realizar la configuraci¢n - no se ha establecido la RUTA.
|
---|
| 53 | if "%GSDLLANG%" == "fr" echo Echc de l'installation - votre variable PATH n'a pas t ajuste
|
---|
| 54 | if "%GSDLLANG%" == "ru" echo áâ ®¢ª ¥ 〠« áì - ¥ ¡ë« ãáâ ®¢«¥
|
---|
| 55 | goto End
|
---|
| 56 |
|
---|
| 57 | :WinNT
|
---|
| 58 | set GEXT_SOLR=%CD%
|
---|
| 59 | set PATH=%GEXT_SOLR%\bin\script;%PATH%
|
---|
| 60 | set PATH=%GEXT_SOLR%\lib;%PATH%
|
---|
| 61 | set GS_CP_SET=yes
|
---|
| 62 | goto Success
|
---|
| 63 |
|
---|
| 64 | :Win95
|
---|
| 65 | if "%1" == "SetEnv" goto Win95Env
|
---|
| 66 | REM We'll invoke a second copy of the command processor to make
|
---|
| 67 | REM sure there's enough environment space
|
---|
| 68 | COMMAND /E:2048 /K %0 SetEnv
|
---|
| 69 | goto End
|
---|
| 70 |
|
---|
| 71 | :Win95Env
|
---|
| 72 | set GEXT_SOLR=%CD%
|
---|
| 73 | set PATH="%GEXT_SOLR%\bin\script";"%PATH%"
|
---|
| 74 | set PATH="%GEXT_SOLR%\lib";"%PATH%"
|
---|
| 75 | set GS_CP_SET=yes
|
---|
| 76 | goto Success
|
---|
| 77 |
|
---|
| 78 | :Success
|
---|
| 79 |
|
---|
| 80 | set fulldir=%~dp0
|
---|
| 81 |
|
---|
| 82 | :: strip off everything up to (and including) ext dir
|
---|
| 83 | set extdir=%fulldir:*ext\=%
|
---|
| 84 |
|
---|
| 85 | :: remove trailing slash
|
---|
| 86 | set extdir=%extdir:\=%
|
---|
| 87 |
|
---|
| 88 | setlocal enabledelayedexpansion
|
---|
[24485] | 89 | if "x%GSDL3EXTS%" == "x" (
|
---|
| 90 | set GSDL3EXTS=!extdir!
|
---|
[24446] | 91 | ) else (
|
---|
[24485] | 92 | set GSDL3EXTS=!GSDL3EXTS!:!extdir!
|
---|
[24446] | 93 | )
|
---|
[24485] | 94 | endlocal & set GSDL3EXTS=%GSDL3EXTS%
|
---|
[24446] | 95 |
|
---|
| 96 | echo +Your environment is now setup for %extdesc%
|
---|
| 97 |
|
---|
| 98 | :: Back to delayed expansion to avoid problems with environment
|
---|
| 99 | :: variables with brackets in them, such as "Program Files (x86)"
|
---|
| 100 |
|
---|
[29749] | 101 | ::echo ++Solr/Jetty server will run on port %SOLR_JETTY_PORT% (+ port %JETTY_STOP_PORT% for shutdown command)
|
---|
| 102 | echo ++Solr will run off the tomcat server on port %SOLR_PORT%
|
---|
[31138] | 103 | echo --This port value can be changed by editing tomcat.port in build.properties
|
---|
| 104 | ::echo -- %0
|
---|
[24446] | 105 |
|
---|
[24485] | 106 |
|
---|
| 107 |
|
---|
[24446] | 108 | :End
|
---|
| 109 |
|
---|
| 110 | popd |
---|