Trap error testing Java version 99/24099/2
authorMats Wichmann <mats@linux.com>
Tue, 23 Jan 2018 20:08:24 +0000 (13:08 -0700)
committerMats Wichmann <mats@linux.com>
Thu, 8 Feb 2018 16:16:03 +0000 (16:16 +0000)
In case user is not pointing to correct JAVA_HOME,
the java version check will error out without being
very descriptive.  Catch the error and print a
message.

Change-Id: Ie78bc0882d8f1f1436352c8c1e26307ce2cad731
Signed-off-by: Mats Wichmann <mats@linux.com>
(cherry picked from commit 954bec4b65398540ab6fac43d2ebae98cdc2d6e0)

java/SConscript

index 1ce4b87..110e74b 100644 (file)
@@ -148,9 +148,13 @@ def find_scons_java_version(env):
     # Support for Java 1.9 not yet added. At this time JDK1.9 has not be released
     # Until support for Java 1.9 is officially added to SCons this script will
     # use the the 1.8 for the JAVAVERSION.
-    javac_cmd = os.path.join(env['JAVA_HOME'], 'bin', 'javac')
-    java_ver = subprocess.check_output([javac_cmd, '-version'], stderr=subprocess.STDOUT)
     print('Trying to discover the version of Java used for compilation')
+    javac_cmd = os.path.join(env['JAVA_HOME'], 'bin', 'javac')
+    try:
+        java_ver = subprocess.check_output([javac_cmd, '-version'], stderr=subprocess.STDOUT)
+    except OSError:
+        msg = "Error: could not find Java compiler at %s, unable to proceed" % javac_cmd
+        Exit(msg)
     scons_version =  SCons.__version__
     if StrictVersion(scons_version) < StrictVersion('2.1.0'):
         print('\t***** Version of SCons older than 2.0.0 detected.                     *****')