view shell-launcher/launchers.bat.in @ 1539:bd5ba061f12c

Made Linux launchers portable * shell-launcher/launchers.bat.in: made aware of the variables substituted from * shell-launcher/launchers.sh.in: included snippet for current directory resolving. If NEXT_JAR is not found on its location, compose new (boot)classpath, based on current directory.
author Jiri Vanek <jvanek@redhat.com>
date Tue, 15 Jan 2019 17:56:07 +0100
parents 67eb4fc36fa0
children a9608af1d93f
line wrap: on
line source

rem use JAVAWS_J_OPTIONS to pass java arguments, instead of -J opts for this script. This will be fixed in next releases
rem use ITW_HOME to set location where ITW can be found. Form there all binaries and jars and other resources are found
rem use JAVA_HOME to set path to JRE
rem any redistribution/installer can replace INST_ITW_HOME and INST_JAVA_HOME to create better defaults
rem if not set, following defaults are used
set CLASSNAME=@MAIN_CLASS@
set PROGRAM_NAME=@PROGRAM_NAME@

# individual parts of bootclasspath for more easy processing
NETX_JAR=@NETX_JAR
PLUGIN_JAR=@PLUGIN_JAR@
JSOBJECT_JAR=@JSOBJECT_JAR@
TAGSOUP_JAR=@TAGSOUP_JAR@
RHINO_JAR=@RHINO_JAR@
MSLINKS_JAR=@MSLINKS_JAR@

set NASHORN=lib/ext/nashorn.jar
set LAUNCHER_FLAGS=-Xms8m
if "%PROGRAM_NAME%" == "javaws"  (
  set ITW_WIN_SPECIALS=-Xnofork
) else (
 set ITW_WIN_SPECIALS=
)


rem warning for linux users: when you put VAR="value" also quotes are stored in VAR!
rem maybe set "VAR=value" is working better?

set INST_JAVA_HOME=
set BAD_SLASH_SCRIPT_DIR=%~dp0
set SCRIPT_DIR=%BAD_SLASH_SCRIPT_DIR:\=/%
set ITW_HOME=%SCRIPT_DIR%../

rem the following is for testing-only and not intended to be robust
rem will not work from 32-bit firefox
for /f "tokens=*" %%a in ('%windir%\System32\reg query "HKLM\SOFTWARE\JavaSoft\Java Development Kit"') do set "version_key=%%a"
set "version=%version_key:~58%"
for /f "tokens=*" %%a in ('%windir%\System32\reg query "HKLM\SOFTWARE\JavaSoft\Java Development Kit\%version%" /v JavaHome') do set "jh_key=%%a"
set BAD_SLASH_JAVA_HOME=%jh_key:~22%
set REG_JAVA_HOME=%BAD_SLASH_JAVA_HOME:\=/%
"%REG_JAVA_HOME%/bin/java.exe" -version
if errorlevel 0 if not errorlevel 1 (
    set JAVA_HOME=%REG_JAVA_HOME%
)


if "%INST_JAVA_HOME%" == ""  (
  if not "%JAVA_HOME%" == ""  (
  set CP=%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/jfxrt.jar
  set NASHORN=%JAVA_HOME%/%NASHORN%
  set JAVA=%JAVA_HOME%/bin/java
  ) else (
    set CP=@JRE@/lib/rt.jar;@JRE@/lib/jfxrt.jar
    set NASHORN=@JRE@/%NASHORN%
    set JAVA=@JAVA@
  )
) else (
  set CP=%INST_JAVA_HOME%/lib/rt.jar;%INST_JAVA_HOME%/lib/jfxrt.jar
  set NASHORN=%INST_JAVA_HOME%/%NASHORN%
  set JAVA=%INST_JAVA_HOME%/bin/java
)

if "%ITW_HOME%" == ""  (
  if not "%INST_ITW_HOME%" == ""  (
  set SPLASH_LOCATION=%INST_ITW_HOME%/share/icedtea-web/javaws_splash.png
  set BINARY_LOCATION=%INST_ITW_HOME%/bin/@PROGRAM_NAME@.bat
  set LAUNCHER_BOOTCLASSPATH=-Xbootclasspath/a:%INST_ITW_HOME%/share/icedtea-web/netx.jar;%INST_ITW_HOME%/share/icedtea-web/plugin.jar;%INST_ITW_HOME%/share/icedtea-web/jsobject.jar;%INST_ITW_HOME%/win-deps-runtime/js.jar;%INST_ITW_HOME%/win-deps-runtime/tagsoup.jar;%INST_ITW_HOME%/win-deps-runtime/mslinks.jar;%NASHORN%
  ) else (
    set SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@
    set BINARY_LOCATION=@BIN_LOCATION@.bat
    set LAUNCHER_BOOTCLASSPATH=@LAUNCHER_BOOTCLASSPATH@;%NASHORN%
  )
) else (
  set SPLASH_LOCATION=%ITW_HOME%/share/icedtea-web/javaws_splash.png
  set BINARY_LOCATION=%ITW_HOME%/bin/@PROGRAM_NAME@.bat
  set LAUNCHER_BOOTCLASSPATH=-Xbootclasspath/a:%ITW_HOME%/share/icedtea-web/netx.jar;%ITW_HOME%/share/icedtea-web/plugin.jar;%ITW_HOME%/share/icedtea-web/jsobject.jar;%ITW_HOME%/win-deps-runtime/js.jar;%ITW_HOME%/win-deps-runtime/tagsoup.jar;%ITW_HOME%/win-deps-runtime/mslinks.jar;%NASHORN%
)



rem TODO use "exec -a %PROGRAM_NAME% ..." idiom
"%JAVA%" "-splash:%SPLASH_LOCATION%" "%LAUNCHER_BOOTCLASSPATH%" %LAUNCHER_FLAGS% %JAVAWS_J_OPTIONS% "-classpath" "%CP%" "-Dicedtea-web.bin.name=%PROGRAM_NAME%" "-Dicedtea-web.bin.location=%BINARY_LOCATION%" "%CLASSNAME%" %ITW_WIN_SPECIALS% %*

SET errno=%ERRORLEVEL%


echo Please press any key to close this window/get back prompt
pause > nul
EXIT /B %errno%