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

Side by Side Diff: lib/cros_build_lib.py

Issue 4442001: Add more error checking to preflight queue. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git
Patch Set: Fix bug in FindRepoDir Created 10 years, 1 month 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
« no previous file with comments | « cros_mark_as_stable.py ('k') | 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 (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium OS 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 """Common python commands used by various build scripts.""" 5 """Common python commands used by various build scripts."""
6 6
7 import inspect 7 import inspect
8 import os 8 import os
9 import subprocess 9 import subprocess
10 import sys 10 import sys
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 def Info(message): 131 def Info(message):
132 """Emits a blue informational message and continues execution. 132 """Emits a blue informational message and continues execution.
133 133
134 Keyword arguments: 134 Keyword arguments:
135 message: The message to be emitted. 135 message: The message to be emitted.
136 """ 136 """
137 print >> sys.stderr, ( 137 print >> sys.stderr, (
138 Color(_STDOUT_IS_TTY).Color(Color.BLUE, '\nINFO: ' + message)) 138 Color(_STDOUT_IS_TTY).Color(Color.BLUE, '\nINFO: ' + message))
139 139
140 140
141 def FindRepoDir(): 141 def FindRepoDir(path=None):
142 """Returns the nearest higher-level repo dir from the cwd.""" 142 """Returns the nearest higher-level repo dir from the specified path.
143 cwd = os.getcwd() 143
144 while cwd != '/': 144 Args:
145 repo_dir = os.path.join(cwd, '.repo') 145 path: The path to use. Defaults to cwd.
146 """
147 if path is None:
148 path = os.getcwd()
149 while path != '/':
150 repo_dir = os.path.join(path, '.repo')
146 if os.path.isdir(repo_dir): 151 if os.path.isdir(repo_dir):
147 return repo_dir 152 return repo_dir
148 cwd = os.path.dirname(cwd) 153 path = os.path.dirname(path)
149 return None 154 return None
150 155
151 156
152 def ReinterpretPathForChroot(path): 157 def ReinterpretPathForChroot(path):
153 """Returns reinterpreted path from outside the chroot for use inside. 158 """Returns reinterpreted path from outside the chroot for use inside.
154 159
155 Keyword arguments: 160 Keyword arguments:
156 path: The path to reinterpret. Must be in src tree. 161 path: The path to reinterpret. Must be in src tree.
157 """ 162 """
158 root_path = os.path.join(FindRepoDir(), '..') 163 root_path = os.path.join(FindRepoDir(path), '..')
159 164
160 path_abs_path = os.path.abspath(path) 165 path_abs_path = os.path.abspath(path)
161 root_abs_path = os.path.abspath(root_path) 166 root_abs_path = os.path.abspath(root_path)
162 167
163 # Strip the repository root from the path and strip first /. 168 # Strip the repository root from the path and strip first /.
164 relative_path = path_abs_path.replace(root_abs_path, '')[1:] 169 relative_path = path_abs_path.replace(root_abs_path, '')[1:]
165 170
166 if relative_path == path_abs_path: 171 if relative_path == path_abs_path:
167 raise Exception('Error: path is outside your src tree, cannot reinterpret.') 172 raise Exception('Error: path is outside your src tree, cannot reinterpret.')
168 173
169 new_path = os.path.join('/home', os.getenv('USER'), 'trunk', relative_path) 174 new_path = os.path.join('/home', os.getenv('USER'), 'trunk', relative_path)
170 return new_path 175 return new_path
171 176
OLDNEW
« no previous file with comments | « cros_mark_as_stable.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698