You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.0 KiB
109 lines
3.0 KiB
@echo off
|
|
|
|
setlocal enabledelayedexpansion
|
|
setlocal enableextensions
|
|
|
|
SET params='%*'
|
|
SET checkpassword=Y
|
|
|
|
:loop
|
|
FOR /F "usebackq tokens=1* delims= " %%A IN (!params!) DO (
|
|
SET current=%%A
|
|
SET params='%%B'
|
|
SET silent=N
|
|
|
|
IF "!current!" == "-s" (
|
|
SET silent=Y
|
|
)
|
|
IF "!current!" == "--silent" (
|
|
SET silent=Y
|
|
)
|
|
|
|
IF "!current!" == "-h" (
|
|
SET checkpassword=N
|
|
)
|
|
IF "!current!" == "--help" (
|
|
SET checkpassword=N
|
|
)
|
|
|
|
IF "!current!" == "-V" (
|
|
SET checkpassword=N
|
|
)
|
|
IF "!current!" == "--version" (
|
|
SET checkpassword=N
|
|
)
|
|
|
|
IF "!silent!" == "Y" (
|
|
SET nopauseonerror=Y
|
|
) ELSE (
|
|
IF "x!newparams!" NEQ "x" (
|
|
SET newparams=!newparams! !current!
|
|
) ELSE (
|
|
SET newparams=!current!
|
|
)
|
|
)
|
|
|
|
IF "x!params!" NEQ "x" (
|
|
GOTO loop
|
|
)
|
|
)
|
|
|
|
CALL "%~dp0elasticsearch-env.bat" || exit /b 1
|
|
IF ERRORLEVEL 1 (
|
|
IF NOT DEFINED nopauseonerror (
|
|
PAUSE
|
|
)
|
|
EXIT /B %ERRORLEVEL%
|
|
)
|
|
|
|
SET KEYSTORE_PASSWORD=
|
|
IF "%checkpassword%"=="Y" (
|
|
CALL "%~dp0elasticsearch-keystore.bat" has-passwd --silent
|
|
IF !ERRORLEVEL! EQU 0 (
|
|
SET /P KEYSTORE_PASSWORD=Elasticsearch keystore password:
|
|
IF !ERRORLEVEL! NEQ 0 (
|
|
ECHO Failed to read keystore password on standard input
|
|
EXIT /B !ERRORLEVEL!
|
|
)
|
|
)
|
|
)
|
|
|
|
if not defined ES_TMPDIR (
|
|
for /f "tokens=* usebackq" %%a in (`CALL %JAVA% -cp "!ES_CLASSPATH!" "org.elasticsearch.tools.launchers.TempDirectory"`) do set ES_TMPDIR=%%a
|
|
)
|
|
|
|
rem The JVM options parser produces the final JVM options to start
|
|
rem Elasticsearch. It does this by incorporating JVM options in the following
|
|
rem way:
|
|
rem - first, system JVM options are applied (these are hardcoded options in
|
|
rem the parser)
|
|
rem - second, JVM options are read from jvm.options and
|
|
rem jvm.options.d/*.options
|
|
rem - third, JVM options from ES_JAVA_OPTS are applied
|
|
rem - fourth, ergonomic JVM options are applied
|
|
@setlocal
|
|
for /F "usebackq delims=" %%a in (`CALL %JAVA% -cp "!ES_CLASSPATH!" "org.elasticsearch.tools.launchers.JvmOptionsParser" "!ES_PATH_CONF!" "!ES_HOME!"/plugins ^|^| echo jvm_options_parser_failed`) do set ES_JAVA_OPTS=%%a
|
|
@endlocal & set "MAYBE_JVM_OPTIONS_PARSER_FAILED=%ES_JAVA_OPTS%" & set ES_JAVA_OPTS=%ES_JAVA_OPTS%
|
|
|
|
if "%MAYBE_JVM_OPTIONS_PARSER_FAILED%" == "jvm_options_parser_failed" (
|
|
exit /b 1
|
|
)
|
|
|
|
rem windows batch pipe will choke on special characters in strings
|
|
SET KEYSTORE_PASSWORD=!KEYSTORE_PASSWORD:^^=^^^^!
|
|
SET KEYSTORE_PASSWORD=!KEYSTORE_PASSWORD:^&=^^^&!
|
|
SET KEYSTORE_PASSWORD=!KEYSTORE_PASSWORD:^|=^^^|!
|
|
SET KEYSTORE_PASSWORD=!KEYSTORE_PASSWORD:^<=^^^<!
|
|
SET KEYSTORE_PASSWORD=!KEYSTORE_PASSWORD:^>=^^^>!
|
|
SET KEYSTORE_PASSWORD=!KEYSTORE_PASSWORD:^\=^^^\!
|
|
|
|
ECHO.!KEYSTORE_PASSWORD!| %JAVA% %ES_JAVA_OPTS% -Delasticsearch ^
|
|
-Des.path.home="%ES_HOME%" -Des.path.conf="%ES_PATH_CONF%" ^
|
|
-Des.distribution.flavor="%ES_DISTRIBUTION_FLAVOR%" ^
|
|
-Des.distribution.type="%ES_DISTRIBUTION_TYPE%" ^
|
|
-Des.bundled_jdk="%ES_BUNDLED_JDK%" ^
|
|
-cp "%ES_CLASSPATH%" "org.elasticsearch.bootstrap.Elasticsearch" !newparams!
|
|
|
|
endlocal
|
|
endlocal
|
|
exit /b %ERRORLEVEL%
|