diff options
author | William Deegan <bill@baddogconsulting.com> | 2017-04-01 22:46:06 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2017-04-01 22:46:06 (GMT) |
commit | a4c7581e1f85b76b7d9b6011aad390c97bb6d29d (patch) | |
tree | 715d7d37b122a10323c3a228cb95ec3e108b3e22 | |
parent | 2fd850a8e13529b888cdd7532547bde9b4a8527e (diff) | |
download | SCons-a4c7581e1f85b76b7d9b6011aad390c97bb6d29d.zip SCons-a4c7581e1f85b76b7d9b6011aad390c97bb6d29d.tar.gz SCons-a4c7581e1f85b76b7d9b6011aad390c97bb6d29d.tar.bz2 |
Fix locating java home on mac. fix mode='r' for py2/3
-rw-r--r-- | QMTest/TestSCons.py | 35 | ||||
-rw-r--r-- | test/Repository/Java.py | 2 |
2 files changed, 28 insertions, 9 deletions
diff --git a/QMTest/TestSCons.py b/QMTest/TestSCons.py index d33eae7..6b087c0 100644 --- a/QMTest/TestSCons.py +++ b/QMTest/TestSCons.py @@ -22,6 +22,7 @@ import re import shutil import sys import time +import subprocess from TestCommon import * from TestCommon import __all__ @@ -729,16 +730,34 @@ class TestSCons(TestCommon): result.append(os.path.join(d,'linux')) return result - - def java_where_java_home(self,version=None): + def java_where_java_home(self, version=None): if sys.platform[:6] == 'darwin': + # osx 10.11, 10.12 + home_tool = '/usr/libexec/java_home' + java_home = False + if os.path.exists(home_tool): + java_home = subprocess.check_output(home_tool).strip() + java_home = java_home.decode() + if version is None: - home = '/System/Library/Frameworks/JavaVM.framework/Home' + if java_home: + return java_home + else: + homes = ['/System/Library/Frameworks/JavaVM.framework/Home', + # osx 10.10 + '/System/Library/Frameworks/JavaVM.framework/Versions/Current/Home'] + for home in homes: + if os.path.exists(home): + return home + else: - home = '/System/Library/Frameworks/JavaVM.framework/Versions/%s/Home' % version - if not os.path.exists(home): - # This works on OSX 10.10 - home = '/System/Library/Frameworks/JavaVM.framework/Versions/Current/' + if java_home.find('jdk%s'%version) != -1: + return java_home + else: + home = '/System/Library/Frameworks/JavaVM.framework/Versions/%s/Home' % version + if not os.path.exists(home): + # This works on OSX 10.10 + home = '/System/Library/Frameworks/JavaVM.framework/Versions/Current/' else: jar = self.java_where_jar(version) home = os.path.normpath('%s/..'%jar) @@ -1028,7 +1047,7 @@ SConscript( sconscript ) nols = nols + "|" nols = nols + ")" lastEnd = 0 - logfile = self.read(self.workpath(logfile)) + logfile = self.read(self.workpath(logfile), mode='r') # Some debug code to keep around.. # sys.stderr.write("LOGFILE[%s]:%s"%(type(logfile),logfile)) diff --git a/test/Repository/Java.py b/test/Repository/Java.py index dc6f202..fce85cd 100644 --- a/test/Repository/Java.py +++ b/test/Repository/Java.py @@ -43,8 +43,8 @@ java = test.java_where_java() os.environ['JAVA_HOME'] = test.java_where_java_home(java_version) ############################################################################### - # + test.subdir('rep1', ['rep1', 'src'], 'work1', 'work2') |