Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: recipe_engine/run.py

Issue 2421113002: Remove 'use_mirror' and 'root' properties. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2016 The LUCI Authors. All rights reserved. 1 # Copyright 2016 The LUCI Authors. All rights reserved.
2 # Use of this source code is governed under the Apache License, Version 2.0 2 # Use of this source code is governed under the Apache License, Version 2.0
3 # that can be found in the LICENSE file. 3 # that can be found in the LICENSE file.
4 4
5 """Entry point for fully-annotated builds. 5 """Entry point for fully-annotated builds.
6 6
7 This script is part of the effort to move all builds to annotator-based 7 This script is part of the effort to move all builds to annotator-based
8 systems. Any builder configured to use the AnnotatorFactory.BaseFactory() 8 systems. Any builder configured to use the AnnotatorFactory.BaseFactory()
9 found in scripts/master/factory/annotator_factory.py executes a single 9 found in scripts/master/factory/annotator_factory.py executes a single
10 AddAnnotatedScript step. That step (found in annotator_commands.py) calls 10 AddAnnotatedScript step. That step (found in annotator_commands.py) calls
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 193
194 Args: 194 Args:
195 properties: a dictionary of properties to pass to the recipe. The 195 properties: a dictionary of properties to pass to the recipe. The
196 'recipe' property defines which recipe to actually run. 196 'recipe' property defines which recipe to actually run.
197 stream_engine: the StreamEngine to use to create individual step streams. 197 stream_engine: the StreamEngine to use to create individual step streams.
198 step_runner: The StepRunner to use to 'actually run' the steps. 198 step_runner: The StepRunner to use to 'actually run' the steps.
199 universe_view: The RecipeUniverse to use to load the recipes & modules. 199 universe_view: The RecipeUniverse to use to load the recipes & modules.
200 200
201 Returns: RecipeResult 201 Returns: RecipeResult
202 """ 202 """
203 # NOTE(iannucci): 'root' was a terribly bad idea and has been replaced by
204 # 'patch_project'. 'root' had Rietveld knowing about the implementation of
205 # the builders. 'patch_project' lets the builder (recipe) decide its own
206 # destiny.
207 properties.pop('root', None)
208
209 # TODO(iannucci): A much better way to do this would be to dynamically
210 # detect if the mirrors are actually available during the execution of the
211 # recipe.
212 if ('use_mirror' not in properties and (
213 'TESTING_MASTERNAME' in os.environ or
214 'TESTING_SLAVENAME' in os.environ)):
215 properties['use_mirror'] = False
216
217 with stream_engine.make_step_stream('setup_build') as s: 203 with stream_engine.make_step_stream('setup_build') as s:
218 engine = RecipeEngine(step_runner, properties, universe_view) 204 engine = RecipeEngine(step_runner, properties, universe_view)
219 205
220 # Create all API modules and top level RunSteps function. It doesn't launch 206 # Create all API modules and top level RunSteps function. It doesn't launch
221 # any recipe code yet; RunSteps needs to be called. 207 # any recipe code yet; RunSteps needs to be called.
222 api = None 208 api = None
223 209
224 assert 'recipe' in properties 210 assert 'recipe' in properties
225 recipe = properties['recipe'] 211 recipe = properties['recipe']
226 212
227 properties_to_print = properties.copy()
228 if 'use_mirror' in properties:
229 del properties_to_print['use_mirror']
230
231 root_package = universe_view.universe.package_deps.root_package 213 root_package = universe_view.universe.package_deps.root_package
232 run_recipe_help_lines = [ 214 run_recipe_help_lines = [
233 'To repro this locally, run the following line from the root of a %r' 215 'To repro this locally, run the following line from the root of a %r'
234 ' checkout:' % (root_package.name), 216 ' checkout:' % (root_package.name),
235 '', 217 '',
236 '%s run --properties-file - %s <<EOF' % ( 218 '%s run --properties-file - %s <<EOF' % (
237 os.path.join( '.', root_package.relative_recipes_dir, 'recipes.py'), 219 os.path.join( '.', root_package.relative_recipes_dir, 'recipes.py'),
238 recipe), 220 recipe),
239 '%s' % json.dumps(properties_to_print), 221 '%s' % json.dumps(properties),
240 'EOF', 222 'EOF',
241 '', 223 '',
242 'To run on Windows, you can put the JSON in a file and redirect the', 224 'To run on Windows, you can put the JSON in a file and redirect the',
243 'contents of the file into run_recipe.py, with the < operator.', 225 'contents of the file into run_recipe.py, with the < operator.',
244 ] 226 ]
245 227
246 with s.new_log_stream('run_recipe') as l: 228 with s.new_log_stream('run_recipe') as l:
247 for line in run_recipe_help_lines: 229 for line in run_recipe_help_lines:
248 l.write_line(line) 230 l.write_line(line)
249 231
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 results.append( 472 results.append(
491 loader._invoke_with_properties( 473 loader._invoke_with_properties(
492 run_recipe, properties, recipe_script.PROPERTIES, 474 run_recipe, properties, recipe_script.PROPERTIES,
493 properties.keys())) 475 properties.keys()))
494 except TypeError as e: 476 except TypeError as e:
495 raise TypeError( 477 raise TypeError(
496 "Got %r while trying to call recipe %s with properties %r" % ( 478 "Got %r while trying to call recipe %s with properties %r" % (
497 e, recipe, properties)) 479 e, recipe, properties))
498 480
499 return results 481 return results
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698