All Downloads are FREE. Search and download functionalities are using the official Maven repository.

archetype-resources.scriptify-launcher.sh Maven / Gradle / Ivy

#!/bin/bash

if [ ! -z "${TERM}" ] ; then
	if command -v "tput" &> /dev/null ; then
		if [ -z "$COLUMNS" ]; then
			export COLUMNS="$(tput cols)"
		fi
		if [ -z "$LINES" ]; then
			export LINES="$(tput lines)"
		fi
	fi
fi

# See "https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable"
SCRIPT_PATH=`which "$0" 2>/dev/null`
[ $? -gt 0 -a -f "$0" ] && SCRIPT_PATH="./$0"
LAUNCHER_DIR="$(dirname $SCRIPT_PATH 2>/dev/null)"
if [ $? -ne 0 ]; then
    LAUNCHER_DIR="."
fi
if type "uname" &> /dev/null; then
	if [ `uname -o` = "Cygwin" ]; then
		SCRIPT_PATH=$(cygpath -w ${SCRIPT_PATH})
		LAUNCHER_DIR=$(cygpath -w ${LAUNCHER_DIR})
	fi
fi
java=java
if test -n "$JAVA_HOME"; then
    java="$JAVA_HOME/bin/java"
fi
javaArgs[0]="-Dlauncher.dir=$LAUNCHER_DIR"
javaIndex="1"
appIndex="0"
for var in "$@"; do
	if [[ ${var} == -Dlauncher.dir=* ]]; then
		javaArgs[0]="${var}"
	elif [[ ${var} == -D* ]] && [ "${var}" != "-D" ]; then
		javaArgs[${javaIndex}]="${var}"
		javaIndex=$((javaIndex + 1))
	else
		appArgs[${appIndex}]="${var}"
		appIndex=$((appIndex + 1))
	fi
done
stty -echoctl &> /dev/null
exec "${java}" -XX:TieredStopAtLevel=1 "${javaArgs[@]}" -jar "$SCRIPT_PATH" "${appArgs[@]}"
exit $?




© 2015 - 2024 Weber Informatics LLC | Privacy Policy