Mercurial > hg > release > icedtea-web-1.7
view launcher/launchers.sh.in @ 1510:3a998e74a0f9
With hope to backport windows desktop support and portable launchers from 1.8, adapted makefiles to be like 1.8
* Makefile: backported all targets and variables except rust ones and javaws.jar one from 1.8
* configure.ac: declared dummy ENABLE_SHELL_LAUNCHERS, as always yes and ENABLE_NATIVE_LAUNCHERS, as always no
* launcher/launchers.sh.in: renamed from launcher/launchers.in
author | Jiri Vanek <jvanek@redhat.com> |
---|---|
date | Wed, 09 Jan 2019 17:41:55 +0100 |
parents | launcher/launchers.in@5adcd54e9d3b |
children | 324019b81bb1 |
line wrap: on
line source
#!/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; MODULAR_JDK="NO" version=`${JAVA} -version 2>&1 | head -n 1 | cut -d'-' -f1 | cut -d'"' -f2 | cut -d'.' -f1` if [ $version -eq "1" ]; then version=`${JAVA} -version 2>&1 | head -n 1 | cut -d'-' -f1 | cut -d'"' -f2 | cut -d'.' -f2` fi if [ $version -ge "9" ]; then MODULAR_JDK="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$MODULAR_JDK" == "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 $?