# HG changeset patch # User Lukas Stadler # Date 1326385811 -3600 # Node ID fad6f1ebeb447bd8691dcb00504888dce37a3f96 # Parent afe0c2480dfd55c3809f2b53ca646d016a9d63d8 mx.py: new projectgraph command diff -r afe0c2480dfd -r fad6f1ebeb44 mxtool/mx.py --- a/mxtool/mx.py Thu Jan 12 14:56:18 2012 +0100 +++ b/mxtool/mx.py Thu Jan 12 17:30:11 2012 +0100 @@ -1189,6 +1189,16 @@ doc = doc.format(*fmtArgs) print 'mx {0} {1}\n\n{2}\n'.format(name, usage, doc) +def projectgraph(args, suite=None): + """create dot graph for project structure ("mx projectgraph | dot -Tpdf -oprojects.pdf")""" + + print 'digraph projects {' + print 'rankdir=BT;' + print 'node [shape=rect];' + for p in projects(): + for dep in p.canonical_deps(): + print '"' + p.name + '"->"' + dep + '"' + print '}' def eclipseinit(args, suite=None): """(re)generate Eclipse project configurations""" @@ -1585,6 +1595,7 @@ 'help': [help_, '[command]'], 'ideclean': [ideclean, ''], 'ideinit': [ideinit, ''], + 'projectgraph': [projectgraph, ''], 'javap': [javap, ''], 'netbeansinit': [netbeansinit, ''], 'projects': [show_projects, ''],