Mercurial > hg > truffle
diff mxtool/mx.py @ 8134:6e3ebc6fd5a4
graal.jar is installed in all JDKs every time it is updated (GRAAL-136)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 06 Mar 2013 20:25:57 +0100 |
parents | 83ec1df0a30f |
children | 1446b04e4148 |
line wrap: on
line diff
--- a/mxtool/mx.py Wed Mar 06 18:04:54 2013 +0100 +++ b/mxtool/mx.py Wed Mar 06 20:25:57 2013 +0100 @@ -160,10 +160,18 @@ if not isabs(self.path): self.path = join(suite.dir, self.path) self.deps = deps + self.update_listeners = set() def __str__(self): return self.name + def add_update_listener(self, listener): + self.update_listeners.add(listener) + + def notify_updated(self): + for l in self.update_listeners: + l(self) + """ A dependency is a library or project specified in a suite. """ @@ -563,8 +571,6 @@ def _post_init(self, opts): mxDir = join(self.dir, 'mx') self._load_projects(mxDir) - if hasattr(self, 'mx_post_parse_cmd_line'): - self.mx_post_parse_cmd_line(opts) for p in self.projects: existing = _projects.get(p.name) if existing is not None: @@ -581,6 +587,8 @@ if existing is not None: abort('cannot redefine distribution ' + d.name) _dists[d.name] = d + if hasattr(self, 'mx_post_parse_cmd_line'): + self.mx_post_parse_cmd_line(opts) class XMLElement(xml.dom.minidom.Element): def writexml(self, writer, indent="", addindent="", newl=""): @@ -1652,6 +1660,8 @@ arcname = join(relpath, f).replace(os.sep, '/') zf.write(join(root, f), arcname) zf.close() + d.notify_updated() + else: p = project(name) outputDir = p.output_dir()