blob: 538bd7acbb816d47c1527357e93abf39df8ccd3d [file] [log] [blame]
@echo off
rem
rem Copyright 2015 Pivotal Software, Inc.
rem cacheserver.bat - The script used to control the cacheserver.
rem Release Version - @bundle.version@
rem
setlocal
setlocal enableextensions
setlocal enabledelayedexpansion
set scriptdir=%~dp0
set gf=%scriptdir:\bin\=%
if exist "%gf%\lib\gemfire.jar" @goto gfok
echo Could not determine GEMFIRE location
rem verify other 2>nul
goto done
:gfok
if exist "%gf%\bin\modules.env" (
FOR /F "tokens=*" %%i in ('type %gf%\bin\modules.env') do SET %%i
)
rem Check for the -d argument
set /a FOUND_ARG=0
set TC_INSTALL_DIR=
FOR %%A IN (%*) DO (
if !FOUND_ARG! == 1 (
set /a FOUND_ARG-=1
set TC_INSTALL_DIR=%%~fA
)
if %%A == -d (
set /a FOUND_ARG+=1
)
)
rem Pull out the unused args for the java class
set CLASS_ARGS=
:loop
IF "%1"=="" GOTO ENDLOOP
if "%1" == "-d" (
shift
shift
) else (
set "CLASS_ARGS=!CLASS_ARGS! %1"
shift
)
GOTO loop
:ENDLOOP
IF NOT "%TC_INSTALL_DIR%" == "" goto SET_TOMCAT_DIR
FOR /f %%f in ('forfiles /P %gf%\.. /m tomcat-%TOMCAT_MAJOR_VER%* /c "cmd /c echo @path"') do set TOMCAT_DIR=%%f
REM Strip the surrounding quotes
set TOMCAT_DIR=%TOMCAT_DIR:"=%
goto TEST_TOMCAT_DIR
:SET_TOMCAT_DIR
set /p TOMCAT_VER=<"%gf%\conf\tomcat.version"
set TOMCAT_DIR="!TC_INSTALL_DIR!\tomcat-!TOMCAT_VER!"
:TEST_TOMCAT_DIR
if not exist "!TOMCAT_DIR!\lib\catalina.jar" goto TOMCAT_NOT_FOUND
goto FIND_MOD_JAR
:FIND_MOD_JAR
FOR %%f in (!gf!\lib\gemfire-modules-?.*.jar) do set MOD_JAR=%%f
IF NOT "%MOD_JAR%" == "" goto FIND_LOG_API
rem This is the default modules jar
set MOD_JAR="!gf!\lib\gemfire-modules.jar"
:FIND_LOG_API
FOR %%f in (!gf!\lib\log4j-api*.jar) do set LOG_API_JAR=%%f
IF NOT "%LOG_API_JAR%" == "" goto FIND_LOG_CORE
echo ERROR: Log4J API jar not found.
goto LIBS_NOT_FOUND
:FIND_LOG_CORE
FOR %%f in (!gf!\lib\log4j-core*.jar) do set LOG_CORE_JAR=%%f
IF NOT "%LOG_CORE_JAR%" == "" goto MAIN_PROCESSING
echo ERROR: Log4J Core jar not found.
goto LIBS_NOT_FOUND
:LIBS_NOT_FOUND
echo ERROR: The required libraries could not be located.
echo Try using the -d ^<tc Server installation directory^> option or make sure it was installed correctly.
echo Example: cacheserver.bat start -d "c:\Program Files\Pivotal\tcServer\pivotal-tc-server-standard"
exit /b 1
:TOMCAT_NOT_FOUND
echo ERROR: The TOMCAT libraries could not be located.
echo Try using the -d ^<tc Server installation directory^> option or make sure it was installed correctly.
echo Example: cacheserver.bat start -d "c:\Program Files\Pivotal\tcServer\pivotal-tc-server-standard"
exit /b 1
:MAIN_PROCESSING
REM Initialize classpath
REM Add GemFire classes
set GEMFIRE_JARS=%MOD_JAR%;%LOG_API_JAR%;%LOG_CORE_JAR%;%gf%/lib/gemfire.jar;%gf%/lib/antlr.jar;%gf%/lib/mail.jar
REM Add Tomcat classes
set GEMFIRE_JARS=%GEMFIRE_JARS%;%TOMCAT_DIR%/lib/servlet-api.jar;%TOMCAT_DIR%/lib/catalina.jar;%gf%/lib/gemfire-modules.jar;%TOMCAT_DIR%/bin/tomcat-juli.jar;%TOMCAT_DIR%/lib/tomcat-util.jar
REM Add conf directory
set GEMFIRE_JARS=%GEMFIRE_JARS%;%gf%/conf
if defined CLASSPATH set GEMFIRE_JARS=%GEMFIRE_JARS%;%CLASSPATH%
if not defined GF_JAVA (
REM %GF_JAVA% is not defined, assume it is on the PATH
set GF_JAVA=java
)
"%GF_JAVA%" %JAVA_ARGS% -classpath "%GEMFIRE_JARS%" com.gemstone.gemfire.internal.cache.CacheServerLauncher !CLASS_ARGS!
:done
set scriptdir=
set gf=
set GEMFIRE_JARS=
endlocal