MCPcopy
hub / github.com/apenwarr/redo / main

Function main

redo/cmd_ifchange.py:16–66  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

14
15
16def main():
17 rv = 202
18 try:
19 targets = sys.argv[1:]
20 state.init(targets)
21 if env.is_toplevel and not targets:
22 targets = ['all']
23 if env.is_toplevel and env.v.LOG:
24 builder.close_stdin()
25 builder.start_stdin_log_reader(
26 status=True, details=True,
27 pretty=True, color=True, debug_locks=False, debug_pids=False)
28 else:
29 logs.setup(
30 tty=sys.stderr, parent_logs=env.v.LOG,
31 pretty=env.v.PRETTY, color=env.v.COLOR)
32 if env.v.TARGET and not env.v.UNLOCKED:
33 me = os.path.join(env.v.STARTDIR,
34 os.path.join(env.v.PWD, env.v.TARGET))
35 f = state.File(name=me)
36 debug2('TARGET: %r %r %r\n'
37 % (env.v.STARTDIR, env.v.PWD, env.v.TARGET))
38 else:
39 f = me = None
40 debug2('redo-ifchange: not adding depends.\n')
41 jobserver.setup(0)
42 try:
43 if f:
44 for t in targets:
45 f.add_dep('m', t)
46 f.save()
47 state.commit()
48 rv = builder.run(targets, should_build)
49 finally:
50 try:
51 state.rollback()
52 finally:
53 try:
54 jobserver.force_return_tokens()
55 except Exception, e: # pylint: disable=broad-except
56 traceback.print_exc(100, sys.stderr)
57 err('unexpected error: %r\n' % e)
58 rv = 1
59 except (KeyboardInterrupt, helpers.ImmediateReturn):
60 if env.is_toplevel:
61 builder.await_log_reader()
62 sys.exit(200)
63 state.commit()
64 if env.is_toplevel:
65 builder.await_log_reader()
66 sys.exit(rv)
67
68
69if __name__ == '__main__':

Callers 1

cmd_ifchange.pyFile · 0.70

Calls 4

add_depMethod · 0.95
saveMethod · 0.95
debug2Function · 0.85
errFunction · 0.85

Tested by

no test coverage detected