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

Side by Side Diff: scripts/slave/recipe_modules/git/api.py

Issue 1241323004: Cross-repo recipe package system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Moved show_me_the_modules into recipe_engine Created 5 years, 4 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 | Annotate | Revision Log
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import itertools
5 import re 6 import re
6 7
7 from recipe_engine import recipe_api 8 from recipe_engine import recipe_api
8 9
9 class GitApi(recipe_api.RecipeApi): 10 class GitApi(recipe_api.RecipeApi):
10 _GIT_HASH_RE = re.compile('[0-9a-f]{40}', re.IGNORECASE) 11 _GIT_HASH_RE = re.compile('[0-9a-f]{40}', re.IGNORECASE)
11 12
12 def __call__(self, *args, **kwargs): 13 def __call__(self, *args, **kwargs):
13 """Return a git command step.""" 14 """Return a git command step."""
14 name = kwargs.pop('name', 'git '+args[0]) 15 name = kwargs.pop('name', 'git '+args[0])
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 rev_parse_step = self('rev-parse', 'HEAD', 250 rev_parse_step = self('rev-parse', 'HEAD',
250 cwd=dir_path, 251 cwd=dir_path,
251 name='set got_revision', 252 name='set got_revision',
252 stdout=self.m.raw_io.output(), 253 stdout=self.m.raw_io.output(),
253 can_fail_build=False) 254 can_fail_build=False)
254 255
255 if rev_parse_step.presentation.status == 'SUCCESS': 256 if rev_parse_step.presentation.status == 'SUCCESS':
256 sha = rev_parse_step.stdout.strip() 257 sha = rev_parse_step.stdout.strip()
257 rev_parse_step.presentation.properties['got_revision'] = sha 258 rev_parse_step.presentation.properties['got_revision'] = sha
258 259
259 clean_args = list(self.m.itertools.chain( 260 clean_args = list(itertools.chain(
260 *[('-e', path) for path in keep_paths or []])) 261 *[('-e', path) for path in keep_paths or []]))
261 262
262 self('clean', '-f', '-d', '-x', *clean_args, 263 self('clean', '-f', '-d', '-x', *clean_args,
263 name='git clean%s' % step_suffix, 264 name='git clean%s' % step_suffix,
264 cwd=dir_path, 265 cwd=dir_path,
265 can_fail_build=can_fail_build) 266 can_fail_build=can_fail_build)
266 267
267 if submodules: 268 if submodules:
268 self('submodule', 'sync', 269 self('submodule', 'sync',
269 name='submodule sync%s' % step_suffix, 270 name='submodule sync%s' % step_suffix,
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 339
339 Args: 340 Args:
340 bundle_path (Path): The path of the output bundle. 341 bundle_path (Path): The path of the output bundle.
341 refs (list): The list of refs to include in the bundle. If None, all 342 refs (list): The list of refs to include in the bundle. If None, all
342 refs in the Git checkout will be bundled. 343 refs in the Git checkout will be bundled.
343 kwargs: Forwarded to '__call__'. 344 kwargs: Forwarded to '__call__'.
344 """ 345 """
345 if not rev_list_args: 346 if not rev_list_args:
346 rev_list_args = ['--all'] 347 rev_list_args = ['--all']
347 self('bundle', 'create', bundle_path, *rev_list_args, **kwargs) 348 self('bundle', 'create', bundle_path, *rev_list_args, **kwargs)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698