Mercurial > hg > truffle
changeset 21634:0a2fc09f6ed6
mx: make dependency omission more strict so that a distribution that lists a non-existent project is detected
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Mon, 01 Jun 2015 15:24:37 +0200 |
parents | 9966b358bc2b |
children | b311a60991da |
files | mxtool/mx.py |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mxtool/mx.py Mon Jun 01 15:14:20 2015 +0200 +++ b/mxtool/mx.py Mon Jun 01 15:24:37 2015 +0200 @@ -1214,6 +1214,7 @@ # # Removed projects and libraries are also removed from # distributions in they are listed as dependencies. + ommittedDeps = set() for d in sorted_deps(includeLibs=True): if d.isLibrary(): if d.optional: @@ -1226,11 +1227,13 @@ d.optional = True if not path: logv('[omitting optional library {0} as {1} does not exist]'.format(d, d.path)) + ommittedDeps.add(d.name) del _libs[d.name] self.libs.remove(d) elif d.isProject(): if java(d.javaCompliance, cancel='some projects will be omitted which may result in errrors') is None: logv('[omitting project {0} as Java compliance {1} cannot be satisfied by configured JDKs]'.format(d, d.javaCompliance)) + ommittedDeps.add(d.name) del _projects[d.name] self.projects.remove(d) else: @@ -1240,17 +1243,19 @@ if not jreLib.is_present_in_jdk(java(d.javaCompliance)): if jreLib.optional: logv('[omitting project {0} as dependency {1} is missing]'.format(d, name)) + ommittedDeps.add(d.name) del _projects[d.name] self.projects.remove(d) else: abort('JRE library {0} required by {1} not found'.format(jreLib, d)) elif not dependency(name, fatalIfMissing=False): logv('[omitting project {0} as dependency {1} is missing]'.format(d, name)) + ommittedDeps.add(d.name) del _projects[d.name] self.projects.remove(d) for dist in _dists.itervalues(): for name in list(dist.deps): - if not dependency(name, fatalIfMissing=False): + if name in ommittedDeps: logv('[omitting {0} from distribution {1}]'.format(name, dist)) dist.deps.remove(name)