comparison mxtool/mx.py @ 4301:fad6f1ebeb44

mx.py: new projectgraph command
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 12 Jan 2012 17:30:11 +0100
parents 311d193de5a2
children 8dd27e218e19
comparison
equal deleted inserted replaced
4275:afe0c2480dfd 4301:fad6f1ebeb44
1187 else: 1187 else:
1188 fmtArgs += [str(d)] 1188 fmtArgs += [str(d)]
1189 doc = doc.format(*fmtArgs) 1189 doc = doc.format(*fmtArgs)
1190 print 'mx {0} {1}\n\n{2}\n'.format(name, usage, doc) 1190 print 'mx {0} {1}\n\n{2}\n'.format(name, usage, doc)
1191 1191
1192 def projectgraph(args, suite=None):
1193 """create dot graph for project structure ("mx projectgraph | dot -Tpdf -oprojects.pdf")"""
1194
1195 print 'digraph projects {'
1196 print 'rankdir=BT;'
1197 print 'node [shape=rect];'
1198 for p in projects():
1199 for dep in p.canonical_deps():
1200 print '"' + p.name + '"->"' + dep + '"'
1201 print '}'
1192 1202
1193 def eclipseinit(args, suite=None): 1203 def eclipseinit(args, suite=None):
1194 """(re)generate Eclipse project configurations""" 1204 """(re)generate Eclipse project configurations"""
1195 1205
1196 if suite is None: 1206 if suite is None:
1583 'clean': [clean, ''], 1593 'clean': [clean, ''],
1584 'eclipseinit': [eclipseinit, ''], 1594 'eclipseinit': [eclipseinit, ''],
1585 'help': [help_, '[command]'], 1595 'help': [help_, '[command]'],
1586 'ideclean': [ideclean, ''], 1596 'ideclean': [ideclean, ''],
1587 'ideinit': [ideinit, ''], 1597 'ideinit': [ideinit, ''],
1598 'projectgraph': [projectgraph, ''],
1588 'javap': [javap, ''], 1599 'javap': [javap, ''],
1589 'netbeansinit': [netbeansinit, ''], 1600 'netbeansinit': [netbeansinit, ''],
1590 'projects': [show_projects, ''], 1601 'projects': [show_projects, ''],
1591 } 1602 }
1592 1603