98c40c5
From 24a1fb2f2f38bb8fdb883e91f34b3f2ca26765a7 Mon Sep 17 00:00:00 2001
98c40c5
From: Mikolaj Izdebski <mizdebsk@redhat.com>
98c40c5
Date: Thu, 30 Oct 2014 15:20:20 +0100
cf17376
Subject: [PATCH 2/6] Use wrapper script to inject extra JVM arguments
98c40c5
98c40c5
---
98c40c5
 install                   |  1 +
98c40c5
 java-utils/java-functions | 14 ++++++++++++--
98c40c5
 java-utils/java-wrapper   |  8 ++++++++
98c40c5
 3 files changed, 21 insertions(+), 2 deletions(-)
98c40c5
 create mode 100644 java-utils/java-wrapper
98c40c5
98c40c5
diff --git a/install b/install
98c40c5
index 16216a7..023136b 100755
98c40c5
--- a/install
98c40c5
+++ b/install
98c40c5
@@ -122,6 +122,7 @@ inst_config etc/font.properties "${javaconfdir}"
98c40c5
 inst_config target/java.conf "${javaconfdir}"
98c40c5
 
98c40c5
 inst_data target/java-functions "${javadir}-utils"
98c40c5
+inst_exec java-utils/java-wrapper "${javadir}-utils"
98c40c5
 inst_data java-utils/maven_depmap.py "${javadir}-utils"
98c40c5
 inst_data java-utils/pom_editor.py "${javadir}-utils"
98c40c5
 
98c40c5
diff --git a/java-utils/java-functions b/java-utils/java-functions
98c40c5
index fcadb1c..c57640f 100644
98c40c5
--- a/java-utils/java-functions
98c40c5
+++ b/java-utils/java-functions
98c40c5
@@ -228,7 +228,12 @@ set_javacmd()
98c40c5
 	JAVACMD="${JAVA_HOME}/${cmd}"
98c40c5
 	if [ -x "${JAVACMD}" ]; then
98c40c5
 	    _log "Using configured JAVACMD: $JAVACMD"
98c40c5
-	    JAVACMD="${JAVACMD}${JAVACMD_OPTS:+ }${JAVACMD_OPTS}"
98c40c5
+	    if [ -n "${JAVACMD_OPTS}" ]; then
98c40c5
+		_log "Using java-wrapper with extra options: ${JAVACMD_OPTS}"
98c40c5
+		export _JP_JAVACMD="${JAVACMD}"
98c40c5
+		export _JP_JAVACMD_OPTS="${JAVACMD_OPTS}"
98c40c5
+		JAVACMD="%{javadir}-utils/java-wrapper"
98c40c5
+	    fi
98c40c5
 	    return 0
98c40c5
 	fi
98c40c5
     done
98c40c5
@@ -236,7 +241,12 @@ set_javacmd()
98c40c5
     JAVACMD=$(which java 2>/dev/null || :)
98c40c5
     if [ -x "${JAVACMD}" ]; then
98c40c5
 	_log "Using JAVACMD from PATH: $JAVACMD"
98c40c5
-	JAVACMD="${JAVACMD}${JAVACMD_OPTS:+ }${JAVACMD_OPTS}"
98c40c5
+	if [ -n "${JAVACMD_OPTS}" ]; then
98c40c5
+	    _log "Using java-wrapper with extra options: ${JAVACMD_OPTS}"
98c40c5
+	    export _JP_JAVACMD="${JAVACMD}"
98c40c5
+	    export _JP_JAVACMD_OPTS="${JAVACMD_OPTS}"
98c40c5
+	    JAVACMD="%{javadir}-utils/java-wrapper"
98c40c5
+	fi
98c40c5
 	return 0
98c40c5
     fi
98c40c5
 
98c40c5
diff --git a/java-utils/java-wrapper b/java-utils/java-wrapper
98c40c5
new file mode 100644
98c40c5
index 0000000..29b3143
98c40c5
--- /dev/null
98c40c5
+++ b/java-utils/java-wrapper
98c40c5
@@ -0,0 +1,8 @@
98c40c5
+#!/bin/sh
98c40c5
+
98c40c5
+JAVACMD="${_JP_JAVACMD}"
98c40c5
+JAVACMD_OPTS="${_JP_JAVACMD_OPTS}"
98c40c5
+unset _JP_JAVACMD
98c40c5
+unset _JP_JAVACMD_OPTS
98c40c5
+
98c40c5
+exec "${JAVACMD}" ${JAVACMD_OPTS} "${@}"
98c40c5
-- 
98c40c5
1.9.3
98c40c5