comparison mx/mx_graal.py @ 17388:9e5abd0e7916

mx/igv: fallback mechanism to work around a javac bug in jdk8u20
author Bernhard Urban <bernhard.urban@jku.at>
date Thu, 09 Oct 2014 14:51:39 +0200
parents d42e11af980d
children 9c241dc74cfc
comparison
equal deleted inserted replaced
17387:0e120f2819ce 17388:9e5abd0e7916
1450 1450
1451 global _jacoco 1451 global _jacoco
1452 _jacoco = 'off' 1452 _jacoco = 'off'
1453 1453
1454 t = Task('CleanAndBuildIdealGraphVisualizer') 1454 t = Task('CleanAndBuildIdealGraphVisualizer')
1455 env = _igvFallbackJDK(os.environ)
1455 buildxml = mx._cygpathU2W(join(_graal_home, 'src', 'share', 'tools', 'IdealGraphVisualizer', 'build.xml')) 1456 buildxml = mx._cygpathU2W(join(_graal_home, 'src', 'share', 'tools', 'IdealGraphVisualizer', 'build.xml'))
1456 mx.run(['ant', '-f', buildxml, '-q', 'clean', 'build']) 1457 mx.run(['ant', '-f', buildxml, '-q', 'clean', 'build'], env=env)
1457 tasks.append(t.stop()) 1458 tasks.append(t.stop())
1458 1459
1459 # Prevent Graal modifications from breaking the standard builds 1460 # Prevent Graal modifications from breaking the standard builds
1460 if args.buildNonGraal: 1461 if args.buildNonGraal:
1461 t = Task('BuildHotSpotVarieties') 1462 t = Task('BuildHotSpotVarieties')
1596 def longtests(args): 1597 def longtests(args):
1597 1598
1598 deoptalot(['15', '-Xmx48m']) 1599 deoptalot(['15', '-Xmx48m'])
1599 1600
1600 dacapo(['100', 'eclipse', '-esa']) 1601 dacapo(['100', 'eclipse', '-esa'])
1602
1603 def _igvFallbackJDK(env):
1604 if mx._java_homes[0].version == mx.VersionSpec("1.8.0_20"):
1605 fallbackJDK = mx._java_homes[1]
1606 mx.logv("1.8.0_20 has a known javac bug (JDK-8043926), thus falling back to " + str(fallbackJDK.version))
1607 env['JAVA_HOME'] = str(fallbackJDK.jdk)
1608 return env
1601 1609
1602 def igv(args): 1610 def igv(args):
1603 """run the Ideal Graph Visualizer""" 1611 """run the Ideal Graph Visualizer"""
1604 with open(join(_graal_home, '.ideal_graph_visualizer.log'), 'w') as fp: 1612 with open(join(_graal_home, '.ideal_graph_visualizer.log'), 'w') as fp:
1605 # When the http_proxy environment variable is set, convert it to the proxy settings that ant needs 1613 # When the http_proxy environment variable is set, convert it to the proxy settings that ant needs
1611 proxy = proxy.split('://', 1)[1] 1619 proxy = proxy.split('://', 1)[1]
1612 # Separate proxy server name and port number 1620 # Separate proxy server name and port number
1613 proxyName, proxyPort = proxy.split(':', 1) 1621 proxyName, proxyPort = proxy.split(':', 1)
1614 proxyEnv = '-DproxyHost="' + proxyName + '" -DproxyPort=' + proxyPort 1622 proxyEnv = '-DproxyHost="' + proxyName + '" -DproxyPort=' + proxyPort
1615 env['ANT_OPTS'] = proxyEnv 1623 env['ANT_OPTS'] = proxyEnv
1624 _igvFallbackJDK(env)
1616 1625
1617 mx.logv('[Ideal Graph Visualizer log is in ' + fp.name + ']') 1626 mx.logv('[Ideal Graph Visualizer log is in ' + fp.name + ']')
1618 nbplatform = join(_graal_home, 'src', 'share', 'tools', 'IdealGraphVisualizer', 'nbplatform') 1627 nbplatform = join(_graal_home, 'src', 'share', 'tools', 'IdealGraphVisualizer', 'nbplatform')
1619 1628
1620 # Remove NetBeans platform if it is earlier than the current supported version 1629 # Remove NetBeans platform if it is earlier than the current supported version