OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Entry point for fully-annotated builds. | 6 """Entry point for fully-annotated builds. |
7 | 7 |
8 This script is part of the effort to move all builds to annotator-based | 8 This script is part of the effort to move all builds to annotator-based |
9 systems. Any builder configured to use the AnnotatorFactory.BaseFactory() | 9 systems. Any builder configured to use the AnnotatorFactory.BaseFactory() |
10 found in scripts/master/factory/annotator_factory.py executes a single | 10 found in scripts/master/factory/annotator_factory.py executes a single |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 'step_history' is an OrderedDict of {stepname -> StepData}, always representing | 54 'step_history' is an OrderedDict of {stepname -> StepData}, always representing |
55 the current history of what steps have run, what they returned, and any | 55 the current history of what steps have run, what they returned, and any |
56 json data they emitted. Additionally, the OrderedDict has the following | 56 json data they emitted. Additionally, the OrderedDict has the following |
57 convenience functions defined: | 57 convenience functions defined: |
58 * last_step - Returns the last step that ran or None | 58 * last_step - Returns the last step that ran or None |
59 * nth_step(n) - Returns the N'th step that ran or None | 59 * nth_step(n) - Returns the N'th step that ran or None |
60 | 60 |
61 'failed' is a boolean representing if the build is in a 'failed' state. | 61 'failed' is a boolean representing if the build is in a 'failed' state. |
62 """ | 62 """ |
63 | 63 |
64 import collections | |
65 import inspect | 64 import inspect |
66 import optparse | 65 import optparse |
67 import os | 66 import os |
68 import subprocess | 67 import subprocess |
69 import sys | 68 import sys |
70 | 69 |
| 70 import common.python26_polyfill # pylint: disable=W0611 |
| 71 import collections # Import after polyfill to get OrderedDict on 2.6 |
| 72 |
71 from common import annotator | 73 from common import annotator |
72 from common import chromium_utils | 74 from common import chromium_utils |
73 from slave import recipe_api | 75 from slave import recipe_api |
74 | 76 |
75 SCRIPT_PATH = os.path.dirname(os.path.abspath(__file__)) | 77 SCRIPT_PATH = os.path.dirname(os.path.abspath(__file__)) |
76 BUILD_ROOT = os.path.dirname(os.path.dirname(SCRIPT_PATH)) | 78 BUILD_ROOT = os.path.dirname(os.path.dirname(SCRIPT_PATH)) |
77 ROOT_PATH = os.path.abspath(os.path.join( | 79 ROOT_PATH = os.path.abspath(os.path.join( |
78 SCRIPT_PATH, os.pardir, os.pardir, os.pardir)) | 80 SCRIPT_PATH, os.pardir, os.pardir, os.pardir)) |
79 MODULE_DIRS = [os.path.join(x, 'recipe_modules') for x in [ | 81 MODULE_DIRS = [os.path.join(x, 'recipe_modules') for x in [ |
80 SCRIPT_PATH, | 82 SCRIPT_PATH, |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 s.step_text('gclient sync failed!') | 291 s.step_text('gclient sync failed!') |
290 s.step_warnings() | 292 s.step_warnings() |
291 os.environ['RUN_SLAVE_UPDATED_SCRIPTS'] = '1' | 293 os.environ['RUN_SLAVE_UPDATED_SCRIPTS'] = '1' |
292 return True | 294 return True |
293 | 295 |
294 | 296 |
295 if __name__ == '__main__': | 297 if __name__ == '__main__': |
296 if UpdateScripts(): | 298 if UpdateScripts(): |
297 os.execv(sys.executable, [sys.executable] + sys.argv) | 299 os.execv(sys.executable, [sys.executable] + sys.argv) |
298 sys.exit(main(sys.argv)) | 300 sys.exit(main(sys.argv)) |
OLD | NEW |