update the build diagram and its script

Former-commit-id: 5def3a7897
This commit is contained in:
Robyn Speer 2015-08-28 17:47:04 -04:00
parent 44c655d9a6
commit 247d7c6579
3 changed files with 9 additions and 6 deletions

View File

@ -11,18 +11,20 @@ def ninja_to_dot():
print('rankdir="LR";')
for line in sys.stdin:
line = line.rstrip()
parts = line.split(' ')
if parts[0] == 'build':
if line.startswith('build'):
# the output file is the first argument; strip off the colon that
# comes from ninja syntax
outfile = last_component(parts[1][:-1])
operation = parts[2]
infiles = [last_component(part) for part in parts[3:]]
output_text, input_text = line.split(':')
outfiles = [last_component(part) for part in output_text.split(' ')[1:]]
inputs = input_text.strip().split(' ')
infiles = [last_component(part) for part in inputs[1:]]
operation = inputs[0]
for infile in infiles:
if infile == '|':
# external dependencies start here; let's not graph those
break
print('"%s" -> "%s" [label="%s"]' % (infile, outfile, operation))
for outfile in outfiles:
print('"%s" -> "%s" [label="%s"]' % (infile, outfile, operation))
print("}")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -0,0 +1 @@
ef54b21e931c530f5b75c1cd87c5841cc4691e43