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

Side by Side Diff: scripts/slave/bot_update.py

Issue 1347263002: Revert of Cross-repo recipe package system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 5 years, 3 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
« no previous file with comments | « scripts/slave/annotated_run.py ('k') | scripts/slave/recipe_modules/chromium_android/api.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 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 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 # TODO(hinoka): Use logging. 6 # TODO(hinoka): Use logging.
7 7
8 import cStringIO 8 import cStringIO
9 import codecs 9 import codecs
10 import collections 10 import collections
(...skipping 24 matching lines...) Expand all
35 # Relative to the current working directory. 35 # Relative to the current working directory.
36 CURRENT_DIR = path.abspath(os.getcwd()) 36 CURRENT_DIR = path.abspath(os.getcwd())
37 BUILDER_DIR = path.dirname(CURRENT_DIR) 37 BUILDER_DIR = path.dirname(CURRENT_DIR)
38 SLAVE_DIR = path.dirname(BUILDER_DIR) 38 SLAVE_DIR = path.dirname(BUILDER_DIR)
39 39
40 # Relative to this script's filesystem path. 40 # Relative to this script's filesystem path.
41 THIS_DIR = path.dirname(path.abspath(__file__)) 41 THIS_DIR = path.dirname(path.abspath(__file__))
42 SCRIPTS_DIR = path.dirname(THIS_DIR) 42 SCRIPTS_DIR = path.dirname(THIS_DIR)
43 BUILD_DIR = path.dirname(SCRIPTS_DIR) 43 BUILD_DIR = path.dirname(SCRIPTS_DIR)
44 ROOT_DIR = path.dirname(BUILD_DIR) 44 ROOT_DIR = path.dirname(BUILD_DIR)
45 BUILD_INTERNAL_DIR = path.join(ROOT_DIR, 'build_internal')
45 DEPOT_TOOLS_DIR = path.join(ROOT_DIR, 'depot_tools') 46 DEPOT_TOOLS_DIR = path.join(ROOT_DIR, 'depot_tools')
46 47
47 # TODO(luqui): This is a horrible hack to identify build_internal when build
48 # is a recipe dependency. bot_update should not be depending on internal,
49 # rather the arrow should go the other way (or just be destroyed).
50 def check_build_internal(d):
51 d = path.abspath(d)
52 if path.basename(d) == 'build_internal' and path.isdir(d):
53 return d
54 else:
55 return None
56
57 BUILD_INTERNAL_DIR = (
58 check_build_internal(path.join(ROOT_DIR, 'build_internal')) or
59 check_build_internal(path.join(ROOT_DIR, # .recipe_deps
60 path.pardir, # slave
61 path.pardir, # scripts
62 path.pardir))) # build_internal
63
64 48
65 CHROMIUM_GIT_HOST = 'https://chromium.googlesource.com' 49 CHROMIUM_GIT_HOST = 'https://chromium.googlesource.com'
66 CHROMIUM_SRC_URL = CHROMIUM_GIT_HOST + '/chromium/src.git' 50 CHROMIUM_SRC_URL = CHROMIUM_GIT_HOST + '/chromium/src.git'
67 51
68 # Official builds use buildspecs, so this is a special case. 52 # Official builds use buildspecs, so this is a special case.
69 BUILDSPEC_TYPE = collections.namedtuple('buildspec', 53 BUILDSPEC_TYPE = collections.namedtuple('buildspec',
70 ('container', 'version')) 54 ('container', 'version'))
71 BUILDSPEC_RE = (r'^/chrome-internal/trunk/tools/buildspec/' 55 BUILDSPEC_RE = (r'^/chrome-internal/trunk/tools/buildspec/'
72 '(build|branches|releases)/(.+)$') 56 '(build|branches|releases)/(.+)$')
73 GIT_BUILDSPEC_PATH = ('https://chrome-internal.googlesource.com/chrome/tools/' 57 GIT_BUILDSPEC_PATH = ('https://chrome-internal.googlesource.com/chrome/tools/'
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 180
197 GCLIENT_TEMPLATE = """solutions = %(solutions)s 181 GCLIENT_TEMPLATE = """solutions = %(solutions)s
198 182
199 cache_dir = r%(cache_dir)s 183 cache_dir = r%(cache_dir)s
200 %(target_os)s 184 %(target_os)s
201 %(target_os_only)s 185 %(target_os_only)s
202 """ 186 """
203 187
204 188
205 internal_data = {} 189 internal_data = {}
206 if BUILD_INTERNAL_DIR: 190 if os.path.isdir(BUILD_INTERNAL_DIR):
207 local_vars = {} 191 local_vars = {}
208 try: 192 try:
209 execfile(os.path.join( 193 execfile(os.path.join(
210 BUILD_INTERNAL_DIR, 'scripts', 'slave', 'bot_update_cfg.py'), 194 BUILD_INTERNAL_DIR, 'scripts', 'slave', 'bot_update_cfg.py'),
211 local_vars) 195 local_vars)
212 except Exception: 196 except Exception:
213 # Same as if BUILD_INTERNAL_DIR didn't exist in the first place. 197 # Same as if BUILD_INTERNAL_DIR didn't exist in the first place.
214 print 'Warning: unable to read internal configuration file.' 198 print 'Warning: unable to read internal configuration file.'
215 print 'If this is an internal bot, this step may be erroneously inactive.' 199 print 'If this is an internal bot, this step may be erroneously inactive.'
216 internal_data = local_vars 200 internal_data = local_vars
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 GIT_CACHE_PATH = path.join(DEPOT_TOOLS_DIR, 'git_cache.py') 309 GIT_CACHE_PATH = path.join(DEPOT_TOOLS_DIR, 'git_cache.py')
326 CACHE_DIR = path.join(SLAVE_DIR, 'cache_dir') 310 CACHE_DIR = path.join(SLAVE_DIR, 'cache_dir')
327 # Because we print CACHE_DIR out into a .gclient file, and then later run 311 # Because we print CACHE_DIR out into a .gclient file, and then later run
328 # eval() on it, backslashes need to be escaped, otherwise "E:\b\build" gets 312 # eval() on it, backslashes need to be escaped, otherwise "E:\b\build" gets
329 # parsed as "E:[\x08][\x08]uild". 313 # parsed as "E:[\x08][\x08]uild".
330 if sys.platform.startswith('win'): 314 if sys.platform.startswith('win'):
331 CACHE_DIR = CACHE_DIR.replace('\\', '\\\\') 315 CACHE_DIR = CACHE_DIR.replace('\\', '\\\\')
332 316
333 # Find the patch tool. 317 # Find the patch tool.
334 if sys.platform.startswith('win'): 318 if sys.platform.startswith('win'):
335 if not BUILD_INTERNAL_DIR: 319 PATCH_TOOL = path.join(BUILD_INTERNAL_DIR, 'tools', 'patch.EXE')
336 print 'Warning: could not find patch tool because there is no '
337 print 'build_internal present.'
338 PATCH_TOOL = None
339 else:
340 PATCH_TOOL = path.join(BUILD_INTERNAL_DIR, 'tools', 'patch.EXE')
341 else: 320 else:
342 PATCH_TOOL = '/usr/bin/patch' 321 PATCH_TOOL = '/usr/bin/patch'
343 322
344 # If there is less than 100GB of disk space on the system, then we do 323 # If there is less than 100GB of disk space on the system, then we do
345 # a shallow checkout. 324 # a shallow checkout.
346 SHALLOW_CLONE_THRESHOLD = 100 * 1024 * 1024 * 1024 325 SHALLOW_CLONE_THRESHOLD = 100 * 1024 * 1024 * 1024
347 326
348 327
349 class SubprocessFailed(Exception): 328 class SubprocessFailed(Exception):
350 def __init__(self, message, code, output): 329 def __init__(self, message, code, output):
(...skipping 1339 matching lines...) Expand 10 before | Expand all | Expand 10 after
1690 except Exception: 1669 except Exception:
1691 # Unexpected failure. 1670 # Unexpected failure.
1692 emit_flag(options.flag_file) 1671 emit_flag(options.flag_file)
1693 raise 1672 raise
1694 else: 1673 else:
1695 emit_flag(options.flag_file) 1674 emit_flag(options.flag_file)
1696 1675
1697 1676
1698 if __name__ == '__main__': 1677 if __name__ == '__main__':
1699 sys.exit(main()) 1678 sys.exit(main())
OLDNEW
« no previous file with comments | « scripts/slave/annotated_run.py ('k') | scripts/slave/recipe_modules/chromium_android/api.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698