# HG changeset patch # User Gilles Duboscq # Date 1427805317 -7200 # Node ID 6e5df2d60fbdc00e695051895802d2308e15f519 # Parent 178814b064a7d29689411148da125869b349fc30 mx: fix compliance check for EXTRA_JAVA_HOMES, add maximum JAVA_HOME version in mx_graal diff -r 178814b064a7 -r 6e5df2d60fbd mx/mx_graal.py --- a/mx/mx_graal.py Tue Mar 31 14:12:23 2015 +0200 +++ b/mx/mx_graal.py Tue Mar 31 14:35:17 2015 +0200 @@ -83,6 +83,9 @@ _minVersion = mx.VersionSpec('1.8') +# max version (first _unsupported_ version) +_untilVersion = mx.VersionSpec('1.8.0_40') + class JDKDeployedDist: def __init__(self, name, isExtension): self.name = name @@ -2527,7 +2530,9 @@ def mx_post_parse_cmd_line(opts): # # TODO _minVersion check could probably be part of a Suite in mx? if mx.java().version < _minVersion: - mx.abort('Requires Java version ' + str(_minVersion) + ' or greater, got version ' + str(mx.java().version)) + mx.abort('Requires Java version ' + str(_minVersion) + ' or greater for JAVA_HOME, got version ' + str(mx.java().version)) + if mx.java().version >= _untilVersion: + mx.abort('Requires Java version strictly before ' + str(_untilVersion) + ' for JAVA_HOME, got version ' + str(mx.java().version)) if _vmSourcesAvailable: if hasattr(opts, 'vm') and opts.vm is not None: diff -r 178814b064a7 -r 6e5df2d60fbd mxtool/mx.py --- a/mxtool/mx.py Tue Mar 31 14:12:23 2015 +0200 +++ b/mxtool/mx.py Tue Mar 31 14:35:17 2015 +0200 @@ -1660,6 +1660,8 @@ elif get_os() == 'linux': base = '/usr/lib/jvm' candidateJdks = [join(base, n) for n in os.listdir(base) if exists(join(base, n, 'jre/lib/rt.jar'))] + base = '/usr/java' + candidateJdks += [join(base, n) for n in os.listdir(base) if exists(join(base, n, 'jre/lib/rt.jar'))] elif get_os() == 'solaris': base = '/usr/jdk/instances' candidateJdks = [join(base, n) for n in os.listdir(base) if exists(join(base, n, 'jre/lib/rt.jar'))] @@ -5331,7 +5333,7 @@ if opts.extra_java_homes: for java_home in opts.extra_java_homes.split(os.pathsep): extraJdk = JavaConfig(java_home, opts.java_dbg_port) - if extraJdk > defaultJdk: + if extraJdk.javaCompliance > defaultJdk.javaCompliance: abort('Secondary JDK ' + extraJdk.jdk + ' has higher compliance level than default JDK ' + defaultJdk.jdk) _java_homes.append(extraJdk)