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

Side by Side Diff: recipes.py

Issue 1861203002: Make recipes.py run give better messages. (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/recipes-py@master
Patch Set: LICENSE and small things. Created 4 years, 8 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 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 """Tool to interact with recipe repositories. 6 """Tool to interact with recipe repositories.
7 7
8 This tool operates on the nearest ancestor directory containing an 8 This tool operates on the nearest ancestor directory containing an
9 infra/config/recipes.cfg. 9 infra/config/recipes.cfg.
10 """ 10 """
11 11
12 import argparse 12 import argparse
13 import ast
13 import json 14 import json
14 import logging 15 import logging
15 import os 16 import os
16 import subprocess 17 import subprocess
17 import sys 18 import sys
18 19
19 ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) 20 ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
20 sys.path.insert(0, os.path.join(ROOT_DIR, 'recipe_engine', 'third_party')) 21 sys.path.insert(0, os.path.join(ROOT_DIR, 'recipe_engine', 'third_party'))
21 sys.path.insert(0, ROOT_DIR) 22 sys.path.insert(0, ROOT_DIR)
22 23
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 properties = get_properties_from_file(args.properties_file) 113 properties = get_properties_from_file(args.properties_file)
113 else: 114 else:
114 properties = arg_properties 115 properties = arg_properties
115 116
116 properties['recipe'] = args.recipe 117 properties['recipe'] = args.recipe
117 118
118 os.environ['PYTHONUNBUFFERED'] = '1' 119 os.environ['PYTHONUNBUFFERED'] = '1'
119 os.environ['PYTHONIOENCODING'] = 'UTF-8' 120 os.environ['PYTHONIOENCODING'] = 'UTF-8'
120 121
121 _, config_file = get_package_config(args) 122 _, config_file = get_package_config(args)
122 universe = loader.UniverseView( 123 universe_view = loader.UniverseView(
123 loader.RecipeUniverse( 124 loader.RecipeUniverse(
124 package_deps, config_file), package_deps.root_package) 125 package_deps, config_file), package_deps.root_package)
125 126
126 workdir = (args.workdir or 127 workdir = (args.workdir or
127 os.path.join(os.path.dirname(os.path.realpath(__file__)), 'workdir')) 128 os.path.join(os.path.dirname(os.path.realpath(__file__)), 'workdir'))
128 logging.info('Using %s as work directory' % workdir) 129 logging.info('Using %s as work directory' % workdir)
129 if not os.path.exists(workdir): 130 if not os.path.exists(workdir):
130 os.makedirs(workdir) 131 os.makedirs(workdir)
131 132
132 if args.local_run: 133 if args.local_run:
133 stream_engine = stream.LocalRunStreamEngine(sys.stdout) 134 stream_engine = stream.LocalRunStreamEngine(sys.stdout)
134 else: 135 else:
135 stream_engine = stream.AnnotatorStreamEngine(sys.stdout) 136 stream_engine = stream.AnnotatorStreamEngine(sys.stdout)
136 137
137 old_cwd = os.getcwd() 138 old_cwd = os.getcwd()
138 os.chdir(workdir) 139 os.chdir(workdir)
139 stream_engine = stream.ProductStreamEngine( 140 stream_engine = stream.ProductStreamEngine(
140 stream.StreamEngineInvariants(), stream_engine) 141 stream.StreamEngineInvariants(), stream_engine)
141 142
142 try: 143 try:
143 ret = recipe_run.run_steps( 144 ret = recipe_run.run_steps(
144 properties, stream_engine, 145 properties, stream_engine,
145 step_runner.SubprocessStepRunner(stream_engine), 146 step_runner.SubprocessStepRunner(stream_engine),
146 universe=universe) 147 universe_view=universe_view)
147 148
148 finally: 149 finally:
149 os.chdir(old_cwd) 150 os.chdir(old_cwd)
150 151
151 if args.local_run: 152 if args.local_run:
152 print 'Finished recipe execution. Return value was %s' % ret 153 print 'Finished recipe execution. Return value was %s' % ret
153 return handle_recipe_return(ret, args.output_result_json, stream_engine) 154 return handle_recipe_return(ret, args.output_result_json, stream_engine)
154 155
155 156
156 def roll(args): 157 def roll(args):
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 420
420 Warmly, 421 Warmly,
421 recipes.py 422 recipes.py
422 """ 423 """
423 return 1 424 return 1
424 425
425 return 0 426 return 0
426 427
427 if __name__ == '__main__': 428 if __name__ == '__main__':
428 sys.exit(main()) 429 sys.exit(main())
OLDNEW
« recipe_engine/run.py ('K') | « recipe_engine/run.py ('k') | unittests/errors_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698