You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2014/08/27 21:58:16 UTC
[23/50] git commit: SLIDER-347 Slider script should handle the case
where java is not in PATH variable
SLIDER-347 Slider script should handle the case where java is not in PATH variable
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/6afa8f97
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/6afa8f97
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/6afa8f97
Branch: refs/heads/feature/SLIDER-149_Support_a_YARN_service_registry
Commit: 6afa8f978bb24acc99482a57c7d8a1f7bad0213a
Parents: 31d70a3
Author: tedyu <yu...@gmail.com>
Authored: Sat Aug 23 13:12:58 2014 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Sat Aug 23 13:15:29 2014 -0700
----------------------------------------------------------------------
slider-assembly/src/main/scripts/slider | 3 ++-
slider-assembly/src/main/scripts/slider.py | 21 ++++++++++++++++++++-
2 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/6afa8f97/slider-assembly/src/main/scripts/slider
----------------------------------------------------------------------
diff --git a/slider-assembly/src/main/scripts/slider b/slider-assembly/src/main/scripts/slider
index caf275b..7172917 100755
--- a/slider-assembly/src/main/scripts/slider
+++ b/slider-assembly/src/main/scripts/slider
@@ -71,4 +71,5 @@ echo ""
echo "command is java ${slider_jvm_opts} --classpath \"${slider_classpath}\" ${launcher} $@"
echo ""
echo ""
-exec java ${slider_jvm_opts} ${launcher} $@
+type java >/dev/null 2>&1 || javabin=${JAVA_HOME}/bin
+exec ${javabin}/java ${slider_jvm_opts} ${launcher} $@
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/6afa8f97/slider-assembly/src/main/scripts/slider.py
----------------------------------------------------------------------
diff --git a/slider-assembly/src/main/scripts/slider.py b/slider-assembly/src/main/scripts/slider.py
index e60bed3..db4b881 100644
--- a/slider-assembly/src/main/scripts/slider.py
+++ b/slider-assembly/src/main/scripts/slider.py
@@ -118,6 +118,22 @@ def runProcess(commandline):
print errline + err.decode()
return exe.returncode
+def which(program):
+ def is_exe(fpath):
+ return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
+
+ fpath, fname = os.path.split(program)
+ if fpath:
+ if is_exe(program):
+ return program
+ else:
+ for path in os.environ["PATH"].split(os.pathsep):
+ path = path.strip('"')
+ exe_file = os.path.join(path, program)
+ if is_exe(exe_file):
+ return exe_file
+
+ return None
def java(classname, args, classpath, jvm_opts_list):
"""
@@ -131,7 +147,10 @@ def java(classname, args, classpath, jvm_opts_list):
"""
# split the JVM opts by space
# java = "/usr/bin/java"
- commandline = ["java"]
+ prg="java"
+ if which("java")==None:
+ prg=os.environ["JAVA_HOME"]+"/bin/java"
+ commandline = [prg]
commandline.extend(jvm_opts_list)
commandline.append("-classpath")
commandline.append(classpath)