source: main/trunk/greenstone3/gs3-setup.bat@ 30592

Last change on this file since 30592 was 30592, checked in by ak19, 8 years ago

Further changes to make sure recent updates to batch scripts still protect spaces in filepath

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.8 KB
RevLine 
[15071]1@echo off
2
[22069]3setlocal enabledelayedexpansion
4
[20191]5set java_min_version=1.5.0_00
[15071]6
[27832]7if exist gs3-setup.bat goto prelim
[15071]8 echo This script must be run from within the Greenstone 3 home directory
[27832]9 goto done
[15071]10
[27832]11:prelim
12if "!GSDL3SRCHOME!" == "" goto start
13if "!GSDL3SRCHOME!" == "!CD!" (
14 echo Your environment is already set up for Greenstone3
15 goto done
16) else (
17 echo Your environment was set up for Greenstone 3 in !GSDL3SRCHOME!.
18 echo Overwriting that set up for the current Greenstone 3 in !CD!.
19)
20
[15071]21:start
[15363]22:: ---- Set some relevant environment variables ----
23
24:: this is the default
[22069]25:: greenstone3 (!GSDL3SRCHOME!)
26:: +-- web (!GSDL3HOME!)
[15363]27:: +-- packages
[22069]28:: +-- tomcat (!TOMCAT_HOME!)
29:: +-- ant (!ANT_HOME!)
[15363]30
[24374]31:: set GSDL3SRCHOME to the current directory
[22069]32cd | winutil\setvar.exe GSDL3SRCHOME > !TMP!\setgsdl3.bat
33call !TMP!\setgsdl3.bat
34del !TMP!\setgsdl3.bat
[15363]35
[24374]36:: set GSDL3HOME to the 'web' subdirectory
[22069]37set GSDL3HOME=!GSDL3SRCHOME!\web
[30574]38set WEB_CONTAINING_CLASSES=!GSDL3SRCHOME!\web
[30568]39:: set GSDL3HOME to any web.home property provided, and create that folder if it doesn't exist
40:: Replace forward slashes in web.home with back slashes
41:: http://scripts.dragon-it.co.uk/scripts.nsf/docs/batch-search-replace-substitute!OpenDocument&ExpandSection=3&BaseTarget=East&AutoFramed
[30592]42if exist "!GSDL3SRCHOME!\build.properties" for /F "usebackq tokens=1,2 delims==" %%G in ("!GSDL3SRCHOME!\build.properties") do (
[30568]43 if "%%G"=="web.home" (
44 set GSDL3HOME=%%H
45 set GSDL3HOME=!GSDL3HOME:/=\!
[30574]46 set WEB_CONTAINING_CLASSES=!GSDL3HOME!
[30568]47 if not exist "!GSDL3HOME!" cmd /c "!GSDL3SRCHOME!\userweb.cmd"
[30574]48 goto foundwebhome
49 )
[30568]50)
[15071]51
[30574]52:foundwebhome
[30568]53:: Whatever the web directory is, it should contain the WEB-INF\classes folder, else go back to using default for this
54:: The WEB-INF\classes folder will be absent in a userweb folder, but will be present if GSDL3HOME=GSDL3SRCHOME\web
55:: or if web.home points to GS3 as a webapp inside tomcat
[30574]56if not exist "!GSDL3HOME!\WEB-INF\classes" set WEB_CONTAINING_CLASSES=!GSDL3SRCHOME!\web
[30568]57
[15363]58:: change if using external tomcat or ant
[22069]59set TOMCAT_HOME=!GSDL3SRCHOME!\packages\tomcat
60if exist "!GSDL3SRCHOME!\packages\ant\*.*" set ANT_HOME=!GSDL3SRCHOME!\packages\ant
[15071]61
[15363]62:: other important environment variables
[15071]63set GSDLOS=windows
[15363]64
65:: ---- Set the CLASSPATH and PATH environment variables ----
[22069]66if "!GS_CP_SET!" == "yes" goto skipSetCp
[30574]67set CLASSPATH=!WEB_CONTAINING_CLASSES!\WEB-INF\classes;!GSDL3SRCHOME!\resources\java;!GSDL3SRCHOME!\cp.jar;!CLASSPATH!;
[24603]68set PATH=!GSDL3SRCHOME!\bin;!GSDL3SRCHOME!\bin\script;!GSDL3SRCHOME!\lib\jni;!ANT_HOME!\bin;!PATH!
[15071]69
[20304]70:: Override Imagemagick and Ghostscript paths to the bundled applications shipped with greenstone if they exists otherwise use default environment variables.
[24374]71:: if exist "!GSDL3SRCHOME!\gs2build\bin\windows\ghostscript\bin\gsdll32.dll" set GS_DLL=!GSDL3SRCHOME!\gs2build\bin\windows\ghostscript\bin\gsdll32.dll
72:: if exist "!GSDL3SRCHOME!\gs2build\bin\windows\ghostscript\lib\*.*" set GS_LIB=!GSDL3SRCHOME!\gs2build\bin\windows\ghostscript\lib
73:: if exist "!GSDL3SRCHOME!\gs2build\bin\windows\ghostscript\bin\*.*" set PATH=!GSDL3SRCHOME!\gs2build\bin\windows\ghostscript\bin;!PATH!
74:: if exist "!GSDL3SRCHOME!\gs2build\bin\windows\imagemagick\*.*" set PATH=!GSDL3SRCHOME!\gs2build\bin\windows\imagemagick;!PATH!
[20304]75
[15363]76:: a little dynamic set cp stuff
[22075]77if exist "!TMP!\setcp.bat" del "!TMP!\setcp.bat"
78
79:: http://ss64.com/nt/for_cmd.html, how to deal with spaces in the file list in a for command
80:: Note that TOMCAT_HOME\common\endorsed only exists for Tomcat 5, not Tomcat 6
81:: (where it contains xercesImpl.jar and xml-apis.jar which aren't there in Tomcat 6)
82if exist "!TOMCAT_HOME!\common\endorsed\*.jar" for /f %%j in ('dir/b ^"!TOMCAT_HOME!\common\endorsed\*.jar^"') do echo set CLASSPATH=%%CLASSPATH%%;%%TOMCAT_HOME%%\common\endorsed\%%j>> !TMP!\setcp.bat
83for /f %%j in ('dir/b ^"!TOMCAT_HOME!\lib\*.jar^"') do echo set CLASSPATH=%%CLASSPATH%%;%%TOMCAT_HOME%%\lib\%%j>> !TMP!\setcp.bat
84
[22069]85if exist !TMP!\setcp.bat call !TMP!\setcp.bat
86if exist !TMP!\setcp.bat del !TMP!\setcp.bat
[15363]87
88set GS_CP_SET=yes
[15071]89:skipSetCp
90
[21320]91:: ---- if gs2build is there, run its setup.bat file ----
[24374]92endlocal & set RUNJAVA=%RUNJAVA%& set PATH=%PATH%& set GSDLOS=%GSDLOS%& set GSDLHOME=%GSDLHOME%& set GSDL3HOME=%GSDL3HOME%& set GSDL3SRCHOME=%GSDL3SRCHOME%& set JAVA_HOME=%JAVA_HOME%& set JRE_HOME=%JRE_HOME%& set ANT_HOME=%ANT_HOME%& set CLASSPATH=%CLASSPATH%
[21320]93
94if exist gs2build\setup.bat (
95 echo.
96 echo Running gs2build\setup.bat
97 cd gs2build
98 call setup.bat
99 cd ..
100)
101
102:: ---- Check for any setup files in ext or local folders ----
103if exist ext (
104 for /D %%e IN ("ext/*") do (
105 cd ext\%%e
[24336]106 if EXIST gs3-setup.bat (
107 call gs3-setup.bat
108 ) else (
109 if EXIST setup.bat call setup.bat
110 )
[21320]111 cd ..\..
112 )
113)
114
115
116if exist local\gs3-setup.bat (
117 echo.
118 echo Running local\gs3-setup.bat
119 cd local
120 call gs3-setup.bat
121 cd ..
122)
123
[24374]124setlocal enabledelayedexpansion
125
[15363]126:: ---- Search for java ----
[20300]127set JAVA_MIN_VERSION=1.5.0_00
[22069]128set HINT=!CD!\packages\jre
[20300]129::if search4j is present, use it
130set FOUNDJAVAHOME=
131set RUNJAVA=
132if exist bin\search4j.exe (
[22069]133 for /F "tokens=*" %%r in ('bin\search4j.exe -d -p "!HINT!" -m !JAVA_MIN_VERSION!') do set FOUNDJAVAHOME=%%r
134 for /F "tokens=*" %%r in ('bin\search4j.exe -r -p "!HINT!" -m !JAVA_MIN_VERSION!') do set FOUNDJREHOME=%%r
[20300]135)
[15071]136
[21988]137if DEFINED FOUNDJAVAHOME (
138 set JAVA_HOME=!FOUNDJAVAHOME!
139 set PATH=!FOUNDJAVAHOME!\bin;!PATH!
140 set RUNJAVA=!FOUNDJAVAHOME!\bin\java.exe
[20300]141 goto summaryThenEnd
142)
[15071]143
[21988]144if DEFINED FOUNDJREHOME (
145 set JRE_HOME=!FOUNDJREHOME!
146 set PATH=!FOUNDJREHOME!\bin;!PATH!
147 set RUNJAVA=!FOUNDJREHOME!\bin\java.exe
[20307]148 goto summaryThenEnd
149)
150
[22069]151if exist "!HINT!\bin\java.exe" (
152 set JAVA_HOME=!HINT!
153 set PATH=!JAVA_HOME!\bin;!PATH!
154 set RUNJAVA=!JAVA_HOME!\bin\java.exe
[20300]155 goto summaryThenEnd
156)
[15071]157
[22069]158if exist "!JAVA_HOME!\bin\java.exe" (
159 set PATH=!JAVA_HOME!\bin;!PATH!
160 set RUNJAVA=!JAVA_HOME!\bin\java.exe
[22082]161 echo Using Java at !JAVA_HOME!
162 echo WARNING: Greenstone has not checked the version number of this Java installation
163 echo The source distribution of Greenstone3 requires Java 1.5 or greater
164 echo SVN users may still use Java 1.4
[20300]165 goto summaryThenEnd
166)
167
[22069]168if exist "!JRE_HOME!\bin\java.exe" (
169 set PATH=!JRE_HOME!\bin;!PATH!
170 set RUNJAVA=!JRE_HOME!\bin\java.exe
[22082]171 echo Using Java at !JRE_HOME!
[22081]172 echo WARNING: Greenstone has not checked the version number of this Java installation
173 echo The source distribution of Greenstone3 requires Java 1.5 or greater
[22082]174 echo SVN users may still use Java 1.4
[20300]175 goto summaryThenEnd
176)
177
[22082]178echo ERROR: Failed to locate Java
179echo Please set JAVA_HOME or JRE_HOME to point to an appropriate Java
[20300]180goto end
181
182:summaryThenEnd
183
[22069]184echo GSDL3SRCHOME : !GSDL3SRCHOME!
185echo GSDL3HOME : !GSDL3HOME!
186echo JAVA : !RUNJAVA!
[22075]187
[22024]188if "!ANT_HOME!" == "" (
[20493]189 echo.
190 echo ANT_HOME is not yet set.
191 echo Please make sure you have Ant version 1.7.1 or higher installed
[22082]192 echo Then set ANT_HOME to the Ant installation folder
[22075]193 echo and add the path to its bin folder to the PATH environment variable
[20493]194) else (
[22024]195 echo ANT_HOME : !ANT_HOME!
[20493]196)
197echo.
[22015]198
[27832]199:done
[22069]200:: End localisation of variables that started with the set local/set enabledelayedexpansion command
201:: Restore global variables that would otherwise be lost at script's end due to their having been initialised in a
202:: set local/set enabledelayedexpansion section. See http://ss64.com/nt/endlocal.html
[22339]203endlocal & set RUNJAVA=%RUNJAVA%& set PATH=%PATH%& set GSDLOS=%GSDLOS%& set GSDLHOME=%GSDLHOME%& set GSDL3HOME=%GSDL3HOME%& set GSDL3SRCHOME=%GSDL3SRCHOME%& set JAVA_HOME=%JAVA_HOME%& set JRE_HOME=%JRE_HOME%& set ANT_HOME=%ANT_HOME%& set CLASSPATH=%CLASSPATH%
[22015]204
[20300]205:end
Note: See TracBrowser for help on using the repository browser.