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

Side by Side Diff: recipe_modules/gclient/api.py

Issue 1917263002: Revert of depot_tools: add infra_paths recipe module for infra-specific paths (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: 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
« no previous file with comments | « recipe_modules/gclient/__init__.py ('k') | recipe_modules/gclient/example.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 from recipe_engine import recipe_api 5 from recipe_engine import recipe_api
6 6
7 7
8 class RevisionResolver(object): 8 class RevisionResolver(object):
9 """Resolves the revision based on build properties.""" 9 """Resolves the revision based on build properties."""
10 10
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 def spec_alias(self, name): 127 def spec_alias(self, name):
128 self._spec_alias = name 128 self._spec_alias = name
129 129
130 @spec_alias.deleter 130 @spec_alias.deleter
131 def spec_alias(self): 131 def spec_alias(self):
132 self._spec_alias = None 132 self._spec_alias = None
133 133
134 def get_config_defaults(self): 134 def get_config_defaults(self):
135 return { 135 return {
136 'USE_MIRROR': self.use_mirror, 136 'USE_MIRROR': self.use_mirror,
137 'CACHE_DIR': self.m.infra_paths['git_cache'], 137 'CACHE_DIR': self.m.path['git_cache'],
138 } 138 }
139 139
140 @staticmethod 140 @staticmethod
141 def config_to_pythonish(cfg): 141 def config_to_pythonish(cfg):
142 return jsonish_to_python(cfg.as_jsonish(), True) 142 return jsonish_to_python(cfg.as_jsonish(), True)
143 143
144 def resolve_revision(self, revision): 144 def resolve_revision(self, revision):
145 if hasattr(revision, 'resolve'): 145 if hasattr(revision, 'resolve'):
146 return revision.resolve(self.m.properties) 146 return revision.resolve(self.m.properties)
147 return revision 147 return revision
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 269
270 cfg_cmds = [ 270 cfg_cmds = [
271 ('user.name', 'local_bot'), 271 ('user.name', 'local_bot'),
272 ('user.email', 'local_bot@example.com'), 272 ('user.email', 'local_bot@example.com'),
273 ] 273 ]
274 for var, val in cfg_cmds: 274 for var, val in cfg_cmds:
275 name = 'recurse (git config %s)' % var 275 name = 'recurse (git config %s)' % var
276 self(name, ['recurse', 'git', 'config', var, val], **kwargs) 276 self(name, ['recurse', 'git', 'config', var, val], **kwargs)
277 277
278 finally: 278 finally:
279 cwd = kwargs.get('cwd', self.m.infra_paths['slave_build']) 279 cwd = kwargs.get('cwd', self.m.path['slave_build'])
280 if 'checkout' not in self.m.path: 280 if 'checkout' not in self.m.path:
281 self.m.path['checkout'] = cwd.join( 281 self.m.path['checkout'] = cwd.join(
282 *cfg.solutions[0].name.split(self.m.path.sep)) 282 *cfg.solutions[0].name.split(self.m.path.sep))
283 283
284 return sync_step 284 return sync_step
285 285
286 def revert(self, **kwargs): 286 def revert(self, **kwargs):
287 """Return a gclient_safe_revert step.""" 287 """Return a gclient_safe_revert step."""
288 # Not directly calling gclient, so don't use self(). 288 # Not directly calling gclient, so don't use self().
289 alias = self.spec_alias 289 alias = self.spec_alias
290 prefix = '%sgclient ' % (('[spec: %s] ' % alias) if alias else '') 290 prefix = '%sgclient ' % (('[spec: %s] ' % alias) if alias else '')
291 291
292 return self.m.python(prefix + 'revert', 292 return self.m.python(prefix + 'revert',
293 self.m.infra_paths['build'].join( 293 self.m.path['build'].join('scripts', 'slave', 'gclient_safe_revert.py'),
294 'scripts', 'slave', 'gclient_safe_revert.py'), 294 ['.', self.m.path['depot_tools'].join('gclient',
295 [ 295 platform_ext={'win': '.bat'})],
296 '.',
297 self.m.infra_paths['depot_tools'].join(
298 'gclient', platform_ext={'win': '.bat'})
299 ],
300 infra_step=True, 296 infra_step=True,
301 **kwargs 297 **kwargs
302 ) 298 )
303 299
304 def runhooks(self, args=None, name='runhooks', **kwargs): 300 def runhooks(self, args=None, name='runhooks', **kwargs):
305 args = args or [] 301 args = args or []
306 assert isinstance(args, (list, tuple)) 302 assert isinstance(args, (list, tuple))
307 return self( 303 return self(
308 name, ['runhooks'] + list(args), infra_step=False, **kwargs) 304 name, ['runhooks'] + list(args), infra_step=False, **kwargs)
309 305
(...skipping 21 matching lines...) Expand all
331 327
332 build_path = sys.argv[1] 328 build_path = sys.argv[1]
333 if os.path.exists(build_path): 329 if os.path.exists(build_path):
334 for (path, dir, files) in os.walk(build_path): 330 for (path, dir, files) in os.walk(build_path):
335 for cur_file in files: 331 for cur_file in files:
336 if cur_file.endswith('index.lock'): 332 if cur_file.endswith('index.lock'):
337 path_to_file = os.path.join(path, cur_file) 333 path_to_file = os.path.join(path, cur_file)
338 print 'deleting %s' % path_to_file 334 print 'deleting %s' % path_to_file
339 os.remove(path_to_file) 335 os.remove(path_to_file)
340 """, 336 """,
341 args=[self.m.infra_paths['slave_build']], 337 args=[self.m.path['slave_build']],
342 infra_step=True, 338 infra_step=True,
343 ) 339 )
344 340
345 def calculate_patch_root(self, patch_project, gclient_config=None): 341 def calculate_patch_root(self, patch_project, gclient_config=None):
346 """Returns path where a patch should be applied to based patch_project. 342 """Returns path where a patch should be applied to based patch_project.
347 343
348 Maps "patch_project" to a path of directories relative to checkout's root, 344 Maps "patch_project" to a path of directories relative to checkout's root,
349 which describe where to place the patch. 345 which describe where to place the patch.
350 346
351 For now, considers only first solution (c.solutions[0]), but in theory can 347 For now, considers only first solution (c.solutions[0]), but in theory can
(...skipping 21 matching lines...) Expand all
373 """Updates config revision corresponding to patch_project. 369 """Updates config revision corresponding to patch_project.
374 370
375 Useful for bot_update only, as this is the only consumer of gclient's config 371 Useful for bot_update only, as this is the only consumer of gclient's config
376 revision map. This doesn't overwrite the revision if it was already set. 372 revision map. This doesn't overwrite the revision if it was already set.
377 """ 373 """
378 assert patch_project is None or isinstance(patch_project, basestring) 374 assert patch_project is None or isinstance(patch_project, basestring)
379 cfg = gclient_config or self.c 375 cfg = gclient_config or self.c
380 path, revision = cfg.patch_projects.get(patch_project, (None, None)) 376 path, revision = cfg.patch_projects.get(patch_project, (None, None))
381 if path and revision and path not in cfg.revisions: 377 if path and revision and path not in cfg.revisions:
382 cfg.revisions[path] = revision 378 cfg.revisions[path] = revision
OLDNEW
« no previous file with comments | « recipe_modules/gclient/__init__.py ('k') | recipe_modules/gclient/example.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698