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

Side by Side Diff: recipe_engine/config_types.py

Issue 1777003003: recipe_engine: change resource API to use repo root (Closed) Base URL: https://github.com/luci/recipes-py.git@master
Patch Set: review Created 4 years, 9 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 | recipe_engine/loader.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-2015 The Chromium Authors. All rights reserved. 1 # Copyright 2013-2015 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 abc 5 import abc
6 import re 6 import re
7 7
8 from collections import namedtuple 8 from collections import namedtuple
9 9
10 from . import types 10 from . import types
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 class ModuleBasePath(BasePath, namedtuple('ModuleBasePath', 'module')): 88 class ModuleBasePath(BasePath, namedtuple('ModuleBasePath', 'module')):
89 def __repr__(self): 89 def __repr__(self):
90 prefix = '%s.' % RECIPE_MODULE_PREFIX 90 prefix = '%s.' % RECIPE_MODULE_PREFIX
91 assert self.module.__name__.startswith(prefix) 91 assert self.module.__name__.startswith(prefix)
92 name = self.module.__name__[len(prefix):] 92 name = self.module.__name__[len(prefix):]
93 # We change python's module delimiter . to ::, since . is already used 93 # We change python's module delimiter . to ::, since . is already used
94 # by expect tests. 94 # by expect tests.
95 return 'RECIPE_MODULE[%s]' % re.sub('\.', '::', name) 95 return 'RECIPE_MODULE[%s]' % re.sub('\.', '::', name)
96 96
97 97
98 class PackageBasePath(BasePath, namedtuple('PackageBasePath', 'package')): 98 class PackageRepoBasePath(
99 BasePath, namedtuple('PackageRepoBasePath', 'package')):
99 def __repr__(self): 100 def __repr__(self):
100 return 'RECIPE_PACKAGE[%s]' % self.package.name 101 return 'RECIPE_PACKAGE_REPO[%s]' % self.package.name
101 102
102 103
103 class Path(RecipeConfigType): 104 class Path(RecipeConfigType):
104 """Represents a path which is relative to a semantically-named base. 105 """Represents a path which is relative to a semantically-named base.
105 106
106 Because there's a lot of platform (separator style) and runtime-specific 107 Because there's a lot of platform (separator style) and runtime-specific
107 context (working directory) which goes into assembling a final OS-specific 108 context (working directory) which goes into assembling a final OS-specific
108 absolute path, we only store three context-free attributes in this Path 109 absolute path, we only store three context-free attributes in this Path
109 object. 110 object.
110 """ 111 """
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 return child.pieces[:len(self.pieces)] == self.pieces 161 return child.pieces[:len(self.pieces)] == self.pieces
161 162
162 def default_tostring_fn(self): 163 def default_tostring_fn(self):
163 suffix = '' 164 suffix = ''
164 if self.platform_ext: 165 if self.platform_ext:
165 suffix = ', platform_ext=%r' % (self.platform_ext,) 166 suffix = ', platform_ext=%r' % (self.platform_ext,)
166 pieces = '' 167 pieces = ''
167 if self.pieces: 168 if self.pieces:
168 pieces = ', ' + (', '.join(map(repr, self.pieces))) 169 pieces = ', ' + (', '.join(map(repr, self.pieces)))
169 return 'Path(\'%s\'%s%s)' % (self.base, pieces, suffix) 170 return 'Path(\'%s\'%s%s)' % (self.base, pieces, suffix)
OLDNEW
« no previous file with comments | « no previous file | recipe_engine/loader.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698