changeset 1412:a0ef81d5add1

Added and installed windows.bat launchers * Makefile.am: added set of target, if windows, creating and installing .bat launchers from bat.in * launcher/launchers.bat.in: new file, bat launcher skeleton
author Jiri Vanek <jvanek@redhat.com>
date Fri, 28 Apr 2017 14:19:58 +0200
parents f818fa4dc188
children 1a6d7e45b0c8
files ChangeLog Makefile.am launcher/launchers.bat.in
diffstat 3 files changed, 97 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Apr 28 13:28:47 2017 +0200
+++ b/ChangeLog	Fri Apr 28 14:19:58 2017 +0200
@@ -1,3 +1,9 @@
+2017-04-28  Jiri Vanek <jvanek@redhat.com>
+
+	Added and installed windows.bat launchers
+	* Makefile.am: added set of target, if windows, creating and installing .bat launchers from bat.in
+	* launcher/launchers.bat.in: new file, bat launcher skeleton
+
 2017-04-28  Jiri Vanek <jvanek@redhat.com>
 
 	* Makefile.am: removed quoting about UNIFIED_BOOTCLASSPATH in LAUNCHER_BOOTCLASSPATH
--- a/Makefile.am	Fri Apr 28 13:28:47 2017 +0200
+++ b/Makefile.am	Fri Apr 28 14:19:58 2017 +0200
@@ -21,10 +21,12 @@
 	export TOP_SRC_DIR := $(shell cygpath -p -m "$(abs_top_srcdir)")
 	export prefix := $(shell cygpath -p -m "$(prefix)")
 	export CPA="-v"
+	WIN_LAUNCHERS=launcher.build/$(javaws).bat launcher.build/$(itweb_settings).bat  launcher.build/$(policyeditor).bat
 else
 	export TOP_BUILD_DIR = $(abs_top_builddir)
 	export TOP_SRC_DIR = $(abs_top_srcdir)
 	export CPA="-av"
+	WIN_LAUNCHERS=
 endif
 
 export NETX_DIR = $(TOP_BUILD_DIR)/netx.build
@@ -286,9 +288,10 @@
 # Top-Level Targets
 # =================
 
-all-local: 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
+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
+
 
 check-local: $(RHINO_TESTS) $(JUNIT_TESTS)
 
@@ -319,6 +322,11 @@
 	${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir)
 	${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir)
 	${INSTALL_PROGRAM} launcher.build/$(policyeditor) $(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
 
 # all generated manpages are installed in swarm
 # all windows depndences are copied for windows build, and known one are copied/removed as necessary
@@ -386,6 +394,9 @@
 if WINDOWS
 	rm -rf $(WIN_ALL_DEPS)
 	rm -rf $(WIN_RUN_DEPS)
+	rm -f $(DESTDIR)$(bindir)/$(javaws).bat
+	rm -f $(DESTDIR)$(bindir)/$(itweb_settings).bat
+	rm -f $(DESTDIR)$(bindir)/$(policyeditor).bat
 endif
 
 # Plugin
@@ -753,6 +764,31 @@
 	PROGRAM_NAME=$(policyeditor) ;\
 	$(edit_launcher_script) < $< > $@
 
+# TODO get rid of this copypaste
+launcher.build/$(javaws).bat: launcher/launchers.bat.in
+	mkdir -p launcher.build
+	MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\
+	BIN_LOCATION=$(bindir)/$(javaws) ;\
+	PROGRAM_NAME=$(javaws) ;\
+	$(edit_launcher_script) < $< > $@
+
+
+# TODO get rid of this copypaste
+launcher.build/$(itweb_settings).bat: launcher/launchers.bat.in
+	mkdir -p launcher.build
+	MAIN_CLASS=net.sourceforge.jnlp.controlpanel.CommandLine ;\
+	BIN_LOCATION=$(bindir)/$(itweb_settings) ;\
+	PROGRAM_NAME=$(itweb_settings) ;\
+	$(edit_launcher_script) < $< > $@
+
+# TODO get rid of this copypaste
+launcher.build/$(policyeditor).bat: 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) < $< > $@
+
 clean-launchers:
 	rm -f launcher.build/$(javaws)
 	rm -f launcher.build/$(itweb_settings)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/launcher/launchers.bat.in	Fri Apr 28 14:19:58 2017 +0200
@@ -0,0 +1,52 @@
+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 NASHORN=lib/ext/nashorn.jar
+set LAUNCHER_FLAGS=-Xms8m
+
+set CLASSNAME=@MAIN_CLASS@
+set PROGRAM_NAME=@PROGRAM_NAME@
+
+rem warning for linux users: when you put VAR="value" also quotes are stored in VAR!
+set INST_ITW_HOME=
+set INST_JAVA_HOME=
+
+if "%JAVA_HOME%" == ""  (
+  if not "%INST_JAVA_HOME%" == ""  (
+  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
+  ) else (
+    set CP=@JRE@/lib/rt.jar;@JRE@/lib/jfxrt.jar
+    set NASHORN=@JRE@/%NASHORN%
+    set JAVA=@JAVA@
+  )
+) else (
+  set CP=%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/jfxrt.jar
+  set NASHORN=%JAVA_HOME%/%NASHORN%
+  set JAVA=%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%" %*
+