Mercurial > hg > graal-jvmci-8
comparison mxtool/mx.py @ 15785:7a6f6a7ef886
Add JRE library support to mx projectgraph.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Tue, 20 May 2014 11:56:19 +0200 |
parents | 8b9e7f235d85 |
children | d54cca247d0b |
comparison
equal
deleted
inserted
replaced
15784:fb530b9fa474 | 15785:7a6f6a7ef886 |
---|---|
1230 with zipfile.ZipFile(entry, 'r') as zf: | 1230 with zipfile.ZipFile(entry, 'r') as zf: |
1231 for zi in zf.infolist(): | 1231 for zi in zf.infolist(): |
1232 entryPath = zi.filename | 1232 entryPath = zi.filename |
1233 yield zf, entryPath | 1233 yield zf, entryPath |
1234 | 1234 |
1235 def sorted_deps(projectNames=None, includeLibs=False, includeAnnotationProcessors=False): | 1235 def sorted_deps(projectNames=None, includeLibs=False, includeJreLibs=False, includeAnnotationProcessors=False): |
1236 """ | 1236 """ |
1237 Gets projects and libraries sorted such that dependencies | 1237 Gets projects and libraries sorted such that dependencies |
1238 are before the projects that depend on them. Unless 'includeLibs' is | 1238 are before the projects that depend on them. Unless 'includeLibs' is |
1239 true, libraries are omitted from the result. | 1239 true, libraries are omitted from the result. |
1240 """ | 1240 """ |
1241 projects = projects_from_names(projectNames) | 1241 projects = projects_from_names(projectNames) |
1242 | 1242 |
1243 return sorted_project_deps(projects, includeLibs=includeLibs, includeAnnotationProcessors=includeAnnotationProcessors) | 1243 return sorted_project_deps(projects, includeLibs=includeLibs, includeJreLibs=includeJreLibs, includeAnnotationProcessors=includeAnnotationProcessors) |
1244 | 1244 |
1245 def sorted_project_deps(projects, includeLibs=False, includeAnnotationProcessors=False): | 1245 def sorted_project_deps(projects, includeLibs=False, includeJreLibs=False, includeAnnotationProcessors=False): |
1246 deps = [] | 1246 deps = [] |
1247 for p in projects: | 1247 for p in projects: |
1248 p.all_deps(deps, includeLibs=includeLibs, includeAnnotationProcessors=includeAnnotationProcessors) | 1248 p.all_deps(deps, includeLibs=includeLibs, includeJreLibs=includeJreLibs, includeAnnotationProcessors=includeAnnotationProcessors) |
1249 return deps | 1249 return deps |
1250 | 1250 |
1251 def _handle_missing_java_home(): | 1251 def _handle_missing_java_home(): |
1252 if not sys.stdout.isatty(): | 1252 if not sys.stdout.isatty(): |
1253 abort('Could not find bootstrap JDK. Use --java-home option or ensure JAVA_HOME environment variable is set.') | 1253 abort('Could not find bootstrap JDK. Use --java-home option or ensure JAVA_HOME environment variable is set.') |
2939 igv.open('properties') | 2939 igv.open('properties') |
2940 igv.element('p', {'name' : 'name'}, 'GraalProjectDependencies') | 2940 igv.element('p', {'name' : 'name'}, 'GraalProjectDependencies') |
2941 igv.close('properties') | 2941 igv.close('properties') |
2942 igv.open('graph', {'name' : 'dependencies'}) | 2942 igv.open('graph', {'name' : 'dependencies'}) |
2943 igv.open('nodes') | 2943 igv.open('nodes') |
2944 for p in sorted_deps(includeLibs=True): | 2944 for p in sorted_deps(includeLibs=True, includeJreLibs=True): |
2945 ident = len(ids) | 2945 ident = len(ids) |
2946 ids[p.name] = str(ident) | 2946 ids[p.name] = str(ident) |
2947 igv.open('node', {'id' : str(ident)}) | 2947 igv.open('node', {'id' : str(ident)}) |
2948 igv.open('properties') | 2948 igv.open('properties') |
2949 igv.element('p', {'name' : 'name'}, p.name) | 2949 igv.element('p', {'name' : 'name'}, p.name) |