Mercurial > hg > release > icedtea-web-1.8
changeset 1471:613ecf033e1a
Deprecated shell launchers, added skeleton for future rust launcher
* Makefile.am: launchers and desktop files gathered to variable, filled according to configure, iffed out deprecated shell launchers, added build stubs for rustc calls
* configure.ac: added switch --enable-shell-launchers to enable build of legacy shell launchers. Note, that when installed, those launchers will have .sh suffix added check for rustc - Mandatory without shell launchers, only optional with.
* rust-launcher/launchers.rs: new, stub for native launchers
* shell-launcher/launchers.bat.in: renamed from launcher/launchers.bat.in
* shell-launcher/launchers.sh.in: renamed from launcher/launchers.in
author | Jiri Vanek <jvanek@redhat.com> |
---|---|
date | Fri, 03 Nov 2017 10:09:44 +0100 |
parents | 676a6ba5bc31 |
children | 4736ea4306a1 |
files | ChangeLog Makefile.am configure.ac launcher/launchers.bat.in launcher/launchers.in rust-launcher/launchers.rs shell-launcher/launchers.bat.in shell-launcher/launchers.sh.in |
diffstat | 8 files changed, 407 insertions(+), 314 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Sep 25 18:05:33 2017 +0200 +++ b/ChangeLog Fri Nov 03 10:09:44 2017 +0100 @@ -1,3 +1,16 @@ +2017-11-02 Jiri Vanek <jvanek@redhat.com> + + Deprecated shell launchers, added skeleton for future rust launcher + * Makefile.am: launchers and desktop files gathered to variable, filled according to configure + iffed out deprecated shell launchers, added build stubs for rustc calls + * configure.ac: added switch --enable-shell-launchers to enable build of legacy shell launchers. + note, that when installed, those launchers will have .sh suffix + added check for rustc - Mandatory without shell launchers, only optional with. + * rust-launcher/launchers.rs: new, stub for native launchers + * shell-launcher/launchers.bat.in: renamed from launcher/launchers.bat.in + * shell-launcher/launchers.sh.in: renamed from launcher/launchers.in + + 2017-09-25 Jiri Vanek <jvanek@redhat.com> Tomáš Votava <tomcacolca@gmail.com>
--- a/Makefile.am Mon Sep 25 18:05:33 2017 +0200 +++ b/Makefile.am Fri Nov 03 10:09:44 2017 +0100 @@ -29,6 +29,32 @@ WIN_LAUNCHERS= endif +if ENABLE_SHELL_LAUNCHERS + SHELL_LUNCHERS=$(WIN_LAUNCHERS) launcher.build/$(javaws).sh launcher.build/$(itweb_settings).sh launcher.build/$(policyeditor).sh +else + SHELL_LUNCHERS= +endif + + +if ENABLE_NATIVE_LAUNCHERS + NATIVE_LUNCHERS=launcher.build/$(javaws) launcher.build/$(itweb_settings) launcher.build/$(policyeditor) + DESKTOP_SUFFIX= +else + NATIVE_LUNCHERS= + DESKTOP_SUFFIX=.sh +endif + +# javaws is program name, JAVAWS is used executable name. in 99.9% those are equals. +# in unsupported case (no rust, and enforced shell lunchers), it will become javaws.sh. +# similar case is for other two binaries. +JAVAWS=$(javaws)$(DESKTOP_SUFFIX) +ITWEB_SETTINGS=$(itweb_settings)$(DESKTOP_SUFFIX) +POLICYEDITOR=$(policyeditor)$(DESKTOP_SUFFIX) + +LAUNCHERS=$(NATIVE_LUNCHERS) $(SHELL_LUNCHERS) +DESKTOP_FILES=javaws.desktop itweb-settings.desktop policyeditor.desktop +DESKTOP_IN_FILES=javaws.desktop.in itweb-settings.desktop.in policyeditor.desktop.in + export WIN_INSTALLER_DIR = $(TOP_BUILD_DIR)/win-installer.build export WIN_INSTALLER_SRC_DIR = $(TOP_SRC_DIR)/win-installer export NETX_DIR = $(TOP_BUILD_DIR)/netx.build @@ -253,12 +279,12 @@ export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION) -export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in policyeditor.desktop.in $(top_srcdir)/completion \ - itweb-settings.desktop.in launcher $(top_srcdir)/tests html-gen.sh NEW_LINE_IFS $(top_srcdir)/metadata.in +export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png $(DESKTOP_IN_FILES) $(top_srcdir)/completion \ + launcher $(top_srcdir)/tests html-gen.sh NEW_LINE_IFS $(top_srcdir)/metadata.in # reproducers `D`shortcuts export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) -export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) +export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(JAVAWS) export DBROWSERS=-Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA):$(MIDORI):$(EPIPHANY) export REPRODUCERS_DPARAMETERS= $(DTEST_SERVER) $(DJAVAWS_BUILD) $(DBROWSERS) $(BROWSER_TESTS_MODIFICATION) # end of `D`shortcuts @@ -294,8 +320,7 @@ # ================= all-local: stamps/netx-dist.stamp stamps/plugin.stamp stamps/docs.stamp \ - $(WIN_LAUNCHERS) \ - launcher.build/$(javaws) javaws.desktop launcher.build/$(itweb_settings) itweb-settings.desktop launcher.build/$(policyeditor) policyeditor.desktop + $(LAUNCHERS) $(DESKTOP_FILES) check-local: $(RHINO_TESTS) $(JUNIT_TESTS) @@ -323,14 +348,21 @@ ${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png ${INSTALL_DATA} $(TOP_SRC_DIR)/javaws.png $(ICONS_DEST_DIR)/ +if ENABLE_NATIVE_LAUNCHERS ${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(policyeditor) $(DESTDIR)$(bindir) +endif +if ENABLE_SHELL_LAUNCHERS + ${INSTALL_PROGRAM} launcher.build/$(javaws).sh $(DESTDIR)$(bindir) + ${INSTALL_PROGRAM} launcher.build/$(itweb_settings).sh $(DESTDIR)$(bindir) + ${INSTALL_PROGRAM} launcher.build/$(policyeditor).sh $(DESTDIR)$(bindir) if WINDOWS ${INSTALL_PROGRAM} launcher.build/$(javaws).bat $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(itweb_settings).bat $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(policyeditor).bat $(DESTDIR)$(bindir) endif +endif ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/itweb-settings.bash $(BASH_CMPL_DEST_DIR)/ ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/javaws.bash $(BASH_CMPL_DEST_DIR)/ ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/policyeditor.bash $(BASH_CMPL_DEST_DIR)/ @@ -486,7 +518,7 @@ $(DEFS) $(VERSION_DEFS) \ -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \ - -DJAVAWS_BIN="\"$(bindir)/$(javaws)\"" \ + -DJAVAWS_BIN="\"$(bindir)/$(JAVAWS)\"" \ -DJAVAWS_NAME="\"$(javaws)\"" \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ @@ -541,7 +573,7 @@ $(DEFS) $(VERSION_DEFS) \ -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \ - -DJAVAWS_BIN="\"$(bindir)/$(javaws)\"" \ + -DJAVAWS_BIN="\"$(bindir)/$(JAVAWS)\"" \ -DJAVAWS_NAME="\"$(javaws)\"" \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ @@ -816,30 +848,48 @@ clean-desktop-files: rm -f javaws.desktop rm -f itweb-settings.desktop + rm -f policyeditor.desktop -launcher.build/$(javaws): launcher/launchers.in + +if ENABLE_NATIVE_LAUNCHERS +launcher.build/$(javaws): rust-launcher/launchers.rs + mkdir -p launcher.build + $(RUSTC) -o $@ $< + +launcher.build/$(itweb_settings): rust-launcher/launchers.rs + mkdir -p launcher.build + $(RUSTC) -o $@ $< + +launcher.build/$(policyeditor): rust-launcher/launchers.rs + mkdir -p launcher.build + $(RUSTC) -o $@ $< +endif + +if ENABLE_SHELL_LAUNCHERS +launcher.build/$(javaws).sh: shell-launcher/launchers.sh.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\ - BIN_LOCATION=$(bindir)/$(javaws) ;\ + BIN_LOCATION=$(bindir)/$(javaws).sh ;\ PROGRAM_NAME=$(javaws) ;\ $(edit_launcher_script) < $< > $@ -launcher.build/$(itweb_settings): launcher/launchers.in +launcher.build/$(itweb_settings).sh: shell-launcher/launchers.sh.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.controlpanel.CommandLine ;\ - BIN_LOCATION=$(bindir)/$(itweb_settings) ;\ + BIN_LOCATION=$(bindir)/$(itweb_settings).sh ;\ PROGRAM_NAME=$(itweb_settings) ;\ $(edit_launcher_script) < $< > $@ -launcher.build/$(policyeditor): launcher/launchers.in +launcher.build/$(policyeditor).sh: shell-launcher/launchers.sh.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.security.policyeditor.PolicyEditor ;\ - BIN_LOCATION=$(bindir)/$(policyeditor) ;\ + BIN_LOCATION=$(bindir)/$(policyeditor).sh ;\ PROGRAM_NAME=$(policyeditor) ;\ $(edit_launcher_script) < $< > $@ +if WINDOWS # TODO get rid of this copypaste -launcher.build/$(javaws).bat: launcher/launchers.bat.in +launcher.build/$(javaws).bat: shell-launcher/launchers.bat.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\ BIN_LOCATION=$(bindir)/$(javaws) ;\ @@ -848,7 +898,7 @@ # TODO get rid of this copypaste -launcher.build/$(itweb_settings).bat: launcher/launchers.bat.in +launcher.build/$(itweb_settings).bat: shell-launcher/launchers.bat.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.controlpanel.CommandLine ;\ BIN_LOCATION=$(bindir)/$(itweb_settings) ;\ @@ -856,35 +906,44 @@ $(edit_launcher_script) < $< > $@ # TODO get rid of this copypaste -launcher.build/$(policyeditor).bat: launcher/launchers.bat.in +launcher.build/$(policyeditor).bat: shell-launcher/launchers.bat.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.security.policyeditor.PolicyEditor ;\ BIN_LOCATION=$(bindir)/$(policyeditor) ;\ PROGRAM_NAME=$(policyeditor) ;\ $(edit_launcher_script) < $< > $@ +endif +endif clean-launchers: +if ENABLE_NATIVE_LAUNCHERS rm -f launcher.build/$(javaws) rm -f launcher.build/$(itweb_settings) rm -f launcher.build/$(policyeditor) +endif +if ENABLE_SHELL_LAUNCHERS + rm -f launcher.build/$(javaws).sh + rm -f launcher.build/$(itweb_settings).sh + rm -f launcher.build/$(policyeditor).sh if WINDOWS rm -f launcher.build/$(javaws).bat rm -f launcher.build/$(itweb_settings).bat rm -f launcher.build/$(policyeditor).bat endif +endif if [ -e launcher.build ] ; then \ rmdir launcher.build ; \ fi javaws.desktop: javaws.desktop.in - sed "s#PATH_TO_JAVAWS#$(bindir)/$(javaws)#" < $(srcdir)/javaws.desktop.in > javaws.desktop + sed "s#PATH_TO_JAVAWS#$(bindir)/$(JAVAWS)#" < $(srcdir)/javaws.desktop.in > javaws.desktop itweb-settings.desktop: $(srcdir)/itweb-settings.desktop.in - sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(itweb_settings)#" \ + sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(ITWEB_SETTINGS)#" \ < $(srcdir)/itweb-settings.desktop.in > itweb-settings.desktop policyeditor.desktop: $(srcdir)/policyeditor.desktop.in - sed 's#PATH_TO_POLICYEDITOR#$(bindir)/$(policyeditor)#' \ + sed "s#PATH_TO_POLICYEDITOR#$(bindir)/$(POLICYEDITOR)#" \ < $(srcdir)/policyeditor.desktop.in > policyeditor.desktop # documentation @@ -1247,8 +1306,8 @@ done ; \ echo $$class_names > $(REPRODUCERS_CLASS_NAMES) -stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \ - javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop launcher.build/$(policyeditor) policyeditor.desktop \ +stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp stamps/plugin.stamp stamps/docs.stamp \ + $(LAUNCHERS) $(DESKTOP_FILES) \ stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp @@ -1294,7 +1353,7 @@ #icedtea-web plugin inside browser it is intended for testing purposes if ENABLE_NATIVE_PLUGIN stamps/user-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp \ - launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) + $(LAUNCHERS) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) if [ $(MOZILLA_FAMILY_TEST) ] ; then \ if [ -e $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ] ; then \ mv -f $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) $(MOZILLA_LOCAL_BACKUP_FILE) ; \ @@ -1323,7 +1382,7 @@ rm -f stamps/user-links.stamp ; \ fi -stamps/global-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \ +stamps/global-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp $(LAUNCHERS) \ stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) if [ $(MOZILLA_FAMILY_TEST) ] ; then \ dir="$(MOZILLA_GLOBAL32_PLUGINDIR)" ; \ @@ -1499,7 +1558,7 @@ $(DEFS) $(VERSION_DEFS) \ -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ -DPLUGIN_NAME="\"IcedTea-Web Plugin with jacoco coverage agent\"" \ - -DJAVAWS_BIN="\"$(bindir)/$(javaws)\"" \ + -DJAVAWS_BIN="\"$(bindir)/$(JAVAWS)\"" \ -DJAVAWS_NAME="\"$(javaws)\"" \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ @@ -1535,13 +1594,13 @@ for file in $(COVERAGE_MODIFIED_FILES) ; do \ mv $(TEST_EXTENSIONS_DIR)/$$file $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ done ;\ - echo "backuping javaws in $(DESTDIR)$(bindir)" ; \ + echo "backuping $(JAVAWS) in $(DESTDIR)$(bindir)" ; \ javaws_backup=$(DESTDIR)$(bindir)/javaws_backup ; \ - mv $(DESTDIR)$(bindir)/javaws $$javaws_backup ; \ - echo "patching $(javaws)" ; \ + mv $(DESTDIR)$(bindir)/$(JAVAWS) $$javaws_backup ; \ + echo "patching $(JAVAWS)" ; \ nw_bootclasspath="-Xbootclasspath/a:$(UNIFIED_JACOCO_CLASSPATH)" ; \ - cat $$javaws_backup | sed "s|COMMAND.k.=\"..JAVA.\"|COMMAND[k]=\"\\$$\\{JAVA\\}\" ; k=1 ; COMMAND[k]=$(JACOCO_AGENT_JAVAWS_SWITCH)|" | sed "s,$(LAUNCHER_BOOTCLASSPATH),$$nw_bootclasspath," > $(DESTDIR)$(bindir)/$(javaws) ; \ - chmod 777 $(DESTDIR)$(bindir)/$(javaws) ; \ + cat $$javaws_backup | sed "s|COMMAND.k.=\"..JAVA.\"|COMMAND[k]=\"\\$$\\{JAVA\\}\" ; k=1 ; COMMAND[k]=$(JACOCO_AGENT_JAVAWS_SWITCH)|" | sed "s,$(LAUNCHER_BOOTCLASSPATH),$$nw_bootclasspath," > $(DESTDIR)$(bindir)/$(JAVAWS) ; \ + chmod 777 $(DESTDIR)$(bindir)/$(JAVAWS) ; \ echo "backuping plugin in $(DESTDIR)/$(libdir)$(BUILT_PLUGIN_LIBRARY)" ; \ plugin_backup=$(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)_backup ; \ mv $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) $$plugin_backup ; \ @@ -1587,9 +1646,9 @@ --input-srcs $(NETX_SRCDIR) $(PLUGIN_SRCDIR)/java $(JUNIT_RUNNER_SRCDIR) $(TEST_EXTENSIONS_SRCDIR) $(TEST_EXTENSIONS_TESTS_SRCDIR) "$${testcases_srcs[@]}" \ --input-builds $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) $(TEST_EXTENSIONS_TESTS_DIR) \ --title "IcedTea-Web reproducers-tests codecoverage" ; \ - echo "restoring javaws in $(DESTDIR)$(bindir)" ; \ + echo "restoring $(JAVAWS) in $(DESTDIR)$(bindir)" ; \ rm -f $(DESTDIR)$(bindir)/$(javaws); \ - mv $$javaws_backup $(DESTDIR)$(bindir)/$(javaws); \ + mv $$javaws_backup $(DESTDIR)$(bindir)/$(JAVAWS); \ echo "restoring plugin in $(DESTDIR)/$(libdir)$(BUILT_PLUGIN_LIBRARY)" ; \ mv $$plugin_backup $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) ; \ for file in $(COVERAGE_MODIFIED_FILES) ; do \
--- a/configure.ac Mon Sep 25 18:05:33 2017 +0200 +++ b/configure.ac Fri Nov 03 10:09:44 2017 +0100 @@ -41,6 +41,24 @@ AC_MSG_ERROR([/bin/bash is used in runtime and for about generation. Dying sooner rather then later]) fi +AC_MSG_CHECKING([whether build legacy shell launchers]) +AC_ARG_ENABLE([shell-launchers], + [AS_HELP_STRING([--enable-shell-launchers], + [Enable build of legacy shell launchers])], + [ENABLE_SHELL_LAUNCHERS="${enableval}"], [ENABLE_SHELL_LAUNCHERS='no']) +AM_CONDITIONAL([ENABLE_SHELL_LAUNCHERS], [test x$ENABLE_SHELL_LAUNCHERS = xyes]) +AC_MSG_RESULT(${ENABLE_SHELL_LAUNCHERS}) + +AC_PATH_PROG([RUSTC], [rustc],,) +if test x"$RUSTC" = x ; then + if test x${ENABLE_SHELL_LAUNCHERS} = xno ; then + AC_MSG_ERROR([rust is used to compile lunchers. No go]) + else + echo "rust is used to compile lunchers, is missing but you have enable-shell-launchers as yes, continuing with UNAMAINTAINED shell launchers only" + fi +fi +AM_CONDITIONAL([ENABLE_NATIVE_LAUNCHERS], [test ! x"$RUSTC" = x]) + build_linux=no build_windows=no case "${host_os}" in
--- a/launcher/launchers.bat.in Mon Sep 25 18:05:33 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -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@ - -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;%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;%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%
--- a/launcher/launchers.in Mon Sep 25 18:05:33 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ -#!/bin/bash - -NASHORN=lib/ext/nashorn.jar -JAVA=@JAVA@ -LAUNCHER_BOOTCLASSPATH='@LAUNCHER_BOOTCLASSPATH@' -LAUNCHER_FLAGS=-Xms8m -CLASSNAME=@MAIN_CLASS@ -BINARY_LOCATION=@BIN_LOCATION@ -SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@ -PROGRAM_NAME=@PROGRAM_NAME@ -CP=@JRE@/lib/rt.jar:@JRE@/lib/jfxrt.jar - -CONFIG_HOME=$XDG_CONFIG_HOME -if [ "x$CONFIG_HOME" = "x" ] ; then - CONFIG_HOME=~/.config -fi; -PROPERTY_NAME=deployment.jre.dir -CUSTOM_JRE_REGEX="^$PROPERTY_NAME *= *" -CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" $CONFIG_HOME/icedtea-web/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` -#now check in legacy one -if [ "x$CUSTOM_JRE" = "x" ] ; then - CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" ~/.icedtea/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` -fi; -#now check in global one -if [ "x$CUSTOM_JRE" = "x" ] ; then - CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" /etc/.java/.deploy/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` -fi; -if [ "x$CUSTOM_JRE" != "x" ] ; then - if [ -e "$CUSTOM_JRE" -a -e "$CUSTOM_JRE/bin/java" ] ; then - JAVA=$CUSTOM_JRE/bin/java - CP=$CUSTOM_JRE/lib/rt.jar:$CUSTOM_JRE/lib/jfxrt.jar - LAUNCHER_BOOTCLASSPATH=$LAUNCHER_BOOTCLASSPATH:$CUSTOM_JRE/$NASHORN - else - echo "Your custom JRE $CUSTOM_JRE read from deployment.properties under key $PROPERTY_NAME as $CUSTOM_JRE is not valid. Using default ($JAVA, $CP) in attempt to start. Please fix this." - fi -else - LAUNCHER_BOOTCLASSPATH="$LAUNCHER_BOOTCLASSPATH:@JRE@/$NASHORN" -fi; - -JDK9="NO" -if ${JAVA} -version 2>&1 | grep -q "version \"9-" ; then - JDK9="YES" -fi - -JAVA_ARGS=( ) -ARGS=( ) -COMMAND=() - -i=0 -j=0 - -SPLASH="false" -if [ "x$ICEDTEA_WEB_SPLASH" = "x" ] ; then -SPLASH="true" -fi; -while [ "$#" -gt "0" ]; do - case "$1" in - -J*) - JAVA_ARGS[$i]="${1##-J}" - i=$((i+1)) - ;; - *) - ARGS[$j]="$1" - j=$((j+1)) - if [[ "$1" =~ ^[-]*headless ]] ; then - SPLASH="false" - fi - ;; - esac - shift -done - -k=0 -COMMAND[k]="${JAVA}" -k=$((k+1)) -if [ "$SPLASH" = "true" ] ; then -COMMAND[k]="-splash:${SPLASH_LOCATION}" -k=$((k+1)) -fi; -COMMAND[k]="${LAUNCHER_BOOTCLASSPATH}" -k=$((k+1)) -COMMAND[k]="${LAUNCHER_FLAGS}" -k=$((k+1)) - -if [ "x$JDK9" == "xYES" ] ; then -COMMAND[k]="--patch-module" -k=$((k+1)) -COMMAND[k]="java.desktop=@PLUGIN_JAR@:@NETX_JAR@" -k=$((k+1)) -# jsobject must be pathched separately from plugin -# otherwise netscape pkg would be shared by two modules, which is forbiden -JSOBJECT_JAR=@JSOBJECT_JAR@ -# plugin jar may not be built -if [ ! "x$JSOBJECT_JAR" == "x" ] ; then - COMMAND[k]="--patch-module" - k=$((k+1)) - COMMAND[k]="jdk.jsobject=$JSOBJECT_JAR" - k=$((k+1)) -fi - -COMMAND[k]="--add-reads" -k=$((k+1)) -COMMAND[k]="java.base=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-reads" -k=$((k+1)) -COMMAND[k]="java.desktop=ALL-UNNAMED,java.naming" -k=$((k+1)) -COMMAND[k]="--add-reads" -k=$((k+1)) -COMMAND[k]="java.naming=ALL-UNNAMED,java.desktop" -k=$((k+1)) - -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.awt=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.provider=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.util=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.x509=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.validator=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.action=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject" -k=$((k+1)) -fi - - -i=0 -while [ "$i" -lt "${#JAVA_ARGS[@]}" ]; do - COMMAND[k]="${JAVA_ARGS[$i]}" - i=$((i+1)) - k=$((k+1)) -done -COMMAND[k]="-classpath" -k=$((k+1)) -COMMAND[k]="${CP}" -k=$((k+1)) -COMMAND[k]="-Dicedtea-web.bin.name=${PROGRAM_NAME}" -k=$((k+1)) -COMMAND[k]="-Dicedtea-web.bin.location=${BINARY_LOCATION}" -k=$((k+1)) -COMMAND[k]="${CLASSNAME}" -k=$((k+1)) -j=0 -while [ "$j" -lt "${#ARGS[@]}" ]; do - COMMAND[k]="${ARGS[$j]}" - j=$((j+1)) - k=$((k+1)) -done - -exec -a "$PROGRAM_NAME" "${COMMAND[@]}" - -exit $?
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rust-launcher/launchers.rs Fri Nov 03 10:09:44 2017 +0100 @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shell-launcher/launchers.bat.in Fri Nov 03 10:09:44 2017 +0100 @@ -0,0 +1,81 @@ +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@ + +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;%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;%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%
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shell-launcher/launchers.sh.in Fri Nov 03 10:09:44 2017 +0100 @@ -0,0 +1,202 @@ +#!/bin/bash + +NASHORN=lib/ext/nashorn.jar +JAVA=@JAVA@ +LAUNCHER_BOOTCLASSPATH='@LAUNCHER_BOOTCLASSPATH@' +LAUNCHER_FLAGS=-Xms8m +CLASSNAME=@MAIN_CLASS@ +BINARY_LOCATION=@BIN_LOCATION@ +SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@ +PROGRAM_NAME=@PROGRAM_NAME@ +CP=@JRE@/lib/rt.jar:@JRE@/lib/jfxrt.jar + +CONFIG_HOME=$XDG_CONFIG_HOME +if [ "x$CONFIG_HOME" = "x" ] ; then + CONFIG_HOME=~/.config +fi; +PROPERTY_NAME=deployment.jre.dir +CUSTOM_JRE_REGEX="^$PROPERTY_NAME *= *" +CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" $CONFIG_HOME/icedtea-web/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` +#now check in legacy one +if [ "x$CUSTOM_JRE" = "x" ] ; then + CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" ~/.icedtea/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` +fi; +#now check in global one +if [ "x$CUSTOM_JRE" = "x" ] ; then + CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" /etc/.java/.deploy/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` +fi; +if [ "x$CUSTOM_JRE" != "x" ] ; then + if [ -e "$CUSTOM_JRE" -a -e "$CUSTOM_JRE/bin/java" ] ; then + JAVA=$CUSTOM_JRE/bin/java + CP=$CUSTOM_JRE/lib/rt.jar:$CUSTOM_JRE/lib/jfxrt.jar + LAUNCHER_BOOTCLASSPATH=$LAUNCHER_BOOTCLASSPATH:$CUSTOM_JRE/$NASHORN + else + echo "Your custom JRE $CUSTOM_JRE read from deployment.properties under key $PROPERTY_NAME as $CUSTOM_JRE is not valid. Using default ($JAVA, $CP) in attempt to start. Please fix this." + fi +else + LAUNCHER_BOOTCLASSPATH="$LAUNCHER_BOOTCLASSPATH:@JRE@/$NASHORN" +fi; + +JDK9="NO" +if ${JAVA} -version 2>&1 | grep -q "version \"9-" ; then + JDK9="YES" +fi + +JAVA_ARGS=( ) +ARGS=( ) +COMMAND=() + +i=0 +j=0 + +SPLASH="false" +if [ "x$ICEDTEA_WEB_SPLASH" = "x" ] ; then +SPLASH="true" +fi; +while [ "$#" -gt "0" ]; do + case "$1" in + -J*) + JAVA_ARGS[$i]="${1##-J}" + i=$((i+1)) + ;; + *) + ARGS[$j]="$1" + j=$((j+1)) + if [[ "$1" =~ ^[-]*headless ]] ; then + SPLASH="false" + fi + ;; + esac + shift +done + +k=0 +COMMAND[k]="${JAVA}" +k=$((k+1)) +if [ "$SPLASH" = "true" ] ; then +COMMAND[k]="-splash:${SPLASH_LOCATION}" +k=$((k+1)) +fi; +COMMAND[k]="${LAUNCHER_BOOTCLASSPATH}" +k=$((k+1)) +COMMAND[k]="${LAUNCHER_FLAGS}" +k=$((k+1)) + +if [ "x$JDK9" == "xYES" ] ; then +COMMAND[k]="--patch-module" +k=$((k+1)) +COMMAND[k]="java.desktop=@PLUGIN_JAR@:@NETX_JAR@" +k=$((k+1)) +# jsobject must be pathched separately from plugin +# otherwise netscape pkg would be shared by two modules, which is forbiden +JSOBJECT_JAR=@JSOBJECT_JAR@ +# plugin jar may not be built +if [ ! "x$JSOBJECT_JAR" == "x" ] ; then + COMMAND[k]="--patch-module" + k=$((k+1)) + COMMAND[k]="jdk.jsobject=$JSOBJECT_JAR" + k=$((k+1)) +fi + +COMMAND[k]="--add-reads" +k=$((k+1)) +COMMAND[k]="java.base=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-reads" +k=$((k+1)) +COMMAND[k]="java.desktop=ALL-UNNAMED,java.naming" +k=$((k+1)) +COMMAND[k]="--add-reads" +k=$((k+1)) +COMMAND[k]="java.naming=ALL-UNNAMED,java.desktop" +k=$((k+1)) + +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.awt=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.provider=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.util=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.x509=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.validator=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.action=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject" +k=$((k+1)) +fi + + +i=0 +while [ "$i" -lt "${#JAVA_ARGS[@]}" ]; do + COMMAND[k]="${JAVA_ARGS[$i]}" + i=$((i+1)) + k=$((k+1)) +done +COMMAND[k]="-classpath" +k=$((k+1)) +COMMAND[k]="${CP}" +k=$((k+1)) +COMMAND[k]="-Dicedtea-web.bin.name=${PROGRAM_NAME}" +k=$((k+1)) +COMMAND[k]="-Dicedtea-web.bin.location=${BINARY_LOCATION}" +k=$((k+1)) +COMMAND[k]="${CLASSNAME}" +k=$((k+1)) +j=0 +while [ "$j" -lt "${#ARGS[@]}" ]; do + COMMAND[k]="${ARGS[$j]}" + j=$((j+1)) + k=$((k+1)) +done + +exec -a "$PROGRAM_NAME" "${COMMAND[@]}" + +exit $?