| 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 |