OLD | NEW |
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 types | 5 import types |
6 | 6 |
7 from recipe_engine.config import config_item_context, ConfigGroup, BadConf | 7 from recipe_engine.config import config_item_context, ConfigGroup, BadConf |
8 from recipe_engine.config import ConfigList, Dict, Single, Static, Set, List | 8 from recipe_engine.config import ConfigList, Dict, Single, Static, Set, List |
9 | 9 |
10 from . import api as gclient_api | 10 from . import api as gclient_api |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 | 87 |
88 USE_MIRROR = Static(bool(USE_MIRROR)), | 88 USE_MIRROR = Static(bool(USE_MIRROR)), |
89 # TODO(tandrii): remove PATCH_PROJECT field. | 89 # TODO(tandrii): remove PATCH_PROJECT field. |
90 # DON'T USE THIS. WILL BE REMOVED. | 90 # DON'T USE THIS. WILL BE REMOVED. |
91 PATCH_PROJECT = Static(str(PATCH_PROJECT), hidden=True), | 91 PATCH_PROJECT = Static(str(PATCH_PROJECT), hidden=True), |
92 BUILDSPEC_VERSION= Static(BUILDSPEC_VERSION, hidden=True), | 92 BUILDSPEC_VERSION= Static(BUILDSPEC_VERSION, hidden=True), |
93 ) | 93 ) |
94 | 94 |
95 config_ctx = config_item_context(BaseConfig) | 95 config_ctx = config_item_context(BaseConfig) |
96 | 96 |
97 def ChromiumSvnSubURL(c, *pieces): # pragma: no cover | |
98 BASES = ('https://src.chromium.org', | |
99 'svn://svn-mirror.golo.chromium.org') | |
100 return '/'.join((BASES[c.USE_MIRROR],) + pieces) | |
101 | |
102 def ChromiumGitURL(_c, *pieces): | 97 def ChromiumGitURL(_c, *pieces): |
103 return '/'.join(('https://chromium.googlesource.com',) + pieces) | 98 return '/'.join(('https://chromium.googlesource.com',) + pieces) |
104 | 99 |
105 def ChromiumSrcURL(c): | 100 def ChromiumSrcURL(c): |
106 return ChromiumGitURL(c, 'chromium', 'src.git') | 101 return ChromiumGitURL(c, 'chromium', 'src.git') |
107 | 102 |
108 def BlinkURL(c): | |
109 return ChromiumGitURL(c, 'chromium', 'blink.git') | |
110 | |
111 def ChromeSvnSubURL(c, *pieces): # pragma: no cover | |
112 BASES = ('svn://svn.chromium.org', | |
113 'svn://svn-mirror.golo.chromium.org') | |
114 return '/'.join((BASES[c.USE_MIRROR],) + pieces) | |
115 | |
116 # TODO(phajdan.jr): Move to proper repo and add coverage. | 103 # TODO(phajdan.jr): Move to proper repo and add coverage. |
117 def ChromeInternalGitURL(_c, *pieces): # pragma: no cover | 104 def ChromeInternalGitURL(_c, *pieces): # pragma: no cover |
118 return '/'.join(('https://chrome-internal.googlesource.com',) + pieces) | 105 return '/'.join(('https://chrome-internal.googlesource.com',) + pieces) |
119 | 106 |
120 def ChromeInternalSrcURL(c): | 107 def ChromeInternalSrcURL(c): |
121 return ChromeInternalGitURL(c, 'chrome', 'src-internal.git') | 108 return ChromeInternalGitURL(c, 'chrome', 'src-internal.git') |
122 | 109 |
123 def mirror_only(c, obj, default=None): | 110 def mirror_only(c, obj, default=None): |
124 return obj if c.USE_MIRROR else (default or obj.__class__()) | 111 return obj if c.USE_MIRROR else (default or obj.__class__()) |
125 | 112 |
126 @config_ctx() | 113 @config_ctx() |
127 def chromium_bare(c): | 114 def chromium_bare(c): |
128 s = c.solutions.add() | 115 s = c.solutions.add() |
129 s.name = 'src' | 116 s.name = 'src' |
130 s.url = ChromiumSrcURL(c) | 117 s.url = ChromiumSrcURL(c) |
131 s.custom_vars = mirror_only(c, { | 118 s.custom_vars = mirror_only(c, { |
132 'googlecode_url': 'svn://svn-mirror.golo.chromium.org/%s', | 119 'googlecode_url': 'svn://svn-mirror.golo.chromium.org/%s', |
133 'nacl_trunk': 'svn://svn-mirror.golo.chromium.org/native_client/trunk', | 120 'nacl_trunk': 'svn://svn-mirror.golo.chromium.org/native_client/trunk', |
134 'sourceforge_url': 'svn://svn-mirror.golo.chromium.org/%(repo)s', | 121 'sourceforge_url': 'svn://svn-mirror.golo.chromium.org/%(repo)s', |
135 'webkit_trunk': BlinkURL(c)}) | 122 'webkit_trunk': ChromiumGitURL(c, 'chromium', 'blink.git')}) |
136 m = c.got_revision_mapping | 123 m = c.got_revision_mapping |
137 m['src'] = 'got_revision' | 124 m['src'] = 'got_revision' |
138 m['src/native_client'] = 'got_nacl_revision' | 125 m['src/native_client'] = 'got_nacl_revision' |
139 m['src/tools/swarming_client'] = 'got_swarming_client_revision' | 126 m['src/tools/swarming_client'] = 'got_swarming_client_revision' |
140 m['src/v8'] = 'got_v8_revision' | 127 m['src/v8'] = 'got_v8_revision' |
141 m['src/third_party/angle'] = 'got_angle_revision' | 128 m['src/third_party/angle'] = 'got_angle_revision' |
142 m['src/third_party/webrtc'] = 'got_webrtc_revision' | 129 m['src/third_party/webrtc'] = 'got_webrtc_revision' |
143 m['src/buildtools'] = 'got_buildtools_revision' | 130 m['src/buildtools'] = 'got_buildtools_revision' |
144 | 131 |
145 p = c.parent_got_revision_mapping | 132 p = c.parent_got_revision_mapping |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 c.solutions[0].revision = 'HEAD' | 241 c.solutions[0].revision = 'HEAD' |
255 # TODO(machenbach): If bot_update is activated for all v8-chromium bots | 242 # TODO(machenbach): If bot_update is activated for all v8-chromium bots |
256 # and there's no gclient fallback, then the following line can be removed. | 243 # and there's no gclient fallback, then the following line can be removed. |
257 c.solutions[0].custom_vars['v8_branch'] = 'branches/bleeding_edge' | 244 c.solutions[0].custom_vars['v8_branch'] = 'branches/bleeding_edge' |
258 c.revisions['src/v8'] = 'HEAD' | 245 c.revisions['src/v8'] = 'HEAD' |
259 | 246 |
260 @config_ctx() | 247 @config_ctx() |
261 def v8_canary(c): | 248 def v8_canary(c): |
262 c.revisions['src/v8'] = 'origin/canary' | 249 c.revisions['src/v8'] = 'origin/canary' |
263 | 250 |
264 @config_ctx(includes=['chromium']) | |
265 def oilpan(c): # pragma: no cover | |
266 c.solutions[0].custom_vars = { | |
267 'webkit_trunk': ChromiumSvnSubURL(c, 'blink', 'branches', 'oilpan') | |
268 } | |
269 c.solutions[0].custom_vars['sourceforge_url'] = mirror_only( | |
270 c, | |
271 'svn://svn-mirror.golo.chromium.org/%(repo)s', | |
272 'svn://svn.chromium.org/%(repo)s' | |
273 ) | |
274 | |
275 c.revisions['src/third_party/WebKit'] = 'HEAD' | |
276 c.solutions[0].revision = '197341' | |
277 | |
278 c.solutions[0].custom_deps = { | |
279 'src/chrome/tools/test/reference_build/chrome_linux' : | |
280 ChromiumSvnSubURL(c, 'blink', 'branches', 'oilpan', 'Tools', | |
281 'reference_build', 'chrome_linux') | |
282 } | |
283 del c.got_revision_mapping['src'] | |
284 c.got_revision_mapping['src/third_party/WebKit/Source'] = 'got_revision' | |
285 | |
286 @config_ctx(includes=['oilpan', 'chrome_internal']) | |
287 def oilpan_internal(c): # pragma: no cover | |
288 # Add back the oilpan data dependencies | |
289 needed_components_internal = [ | |
290 "src/data/memory_test", | |
291 "src/data/mozilla_js_tests", | |
292 "src/data/page_cycler", | |
293 "src/data/tab_switching", | |
294 "src/webkit/data/bmp_decoder", | |
295 "src/webkit/data/ico_decoder", | |
296 "src/webkit/data/test_shell/plugins", | |
297 "src/webkit/data/xbm_decoder", | |
298 ] | |
299 for key in needed_components_internal: | |
300 del c.solutions[1].custom_deps[key] | |
301 | |
302 @config_ctx() | 251 @config_ctx() |
303 def nacl(c): | 252 def nacl(c): |
304 s = c.solutions.add() | 253 s = c.solutions.add() |
305 s.name = 'native_client' | 254 s.name = 'native_client' |
306 s.url = ChromiumGitURL(c, 'native_client', 'src', 'native_client.git') | 255 s.url = ChromiumGitURL(c, 'native_client', 'src', 'native_client.git') |
307 m = c.got_revision_mapping | 256 m = c.got_revision_mapping |
308 m['native_client'] = 'got_revision' | 257 m['native_client'] = 'got_revision' |
309 | 258 |
310 @config_ctx() | 259 @config_ctx() |
311 def webports(c): | 260 def webports(c): |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 | 523 |
575 @config_ctx() | 524 @config_ctx() |
576 def recipes_py_bare(c): | 525 def recipes_py_bare(c): |
577 soln = c.solutions.add() | 526 soln = c.solutions.add() |
578 soln.name = 'recipes-py' | 527 soln.name = 'recipes-py' |
579 soln.url = ('https://chromium.googlesource.com/external/github.com/' | 528 soln.url = ('https://chromium.googlesource.com/external/github.com/' |
580 'luci/recipes-py') | 529 'luci/recipes-py') |
581 c.got_revision_mapping['recipes-py'] = 'got_revision' | 530 c.got_revision_mapping['recipes-py'] = 'got_revision' |
582 | 531 |
583 @config_ctx() | 532 @config_ctx() |
584 def chrome_from_buildspec(c): # pragma: no cover | |
585 soln = c.solutions.add() | |
586 soln.name = 'chrome_from_buildspec' | |
587 # This URL has to be augmented with the appropriate bucket by the recipe using | |
588 # it. | |
589 soln.url = ('svn://svn-mirror.golo.chromium.org/chrome-internal/trunk/tools/' | |
590 'buildspec/build/') | |
591 soln.custom_vars['svn_url'] = 'svn://svn-mirror.golo.chromium.org' | |
592 soln.custom_deps = {} | |
593 | |
594 @config_ctx() | |
595 def catapult(c): | 533 def catapult(c): |
596 soln = c.solutions.add() | 534 soln = c.solutions.add() |
597 soln.name = 'catapult' | 535 soln.name = 'catapult' |
598 soln.url = ('https://chromium.googlesource.com/external/github.com/' | 536 soln.url = ('https://chromium.googlesource.com/external/github.com/' |
599 'catapult-project/catapult.git') | 537 'catapult-project/catapult.git') |
600 c.got_revision_mapping['catapult'] = 'got_revision' | 538 c.got_revision_mapping['catapult'] = 'got_revision' |
601 | 539 |
602 @config_ctx(includes=['infra_internal']) | 540 @config_ctx(includes=['infra_internal']) |
603 def infradata_master_manager(c): | 541 def infradata_master_manager(c): |
604 soln = c.solutions.add() | 542 soln = c.solutions.add() |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
643 """Add Valgrind binaries to the gclient solution.""" | 581 """Add Valgrind binaries to the gclient solution.""" |
644 c.solutions[0].custom_deps['src/third_party/valgrind'] = \ | 582 c.solutions[0].custom_deps['src/third_party/valgrind'] = \ |
645 ChromiumGitURL(c, 'chromium', 'deps', 'valgrind', 'binaries') | 583 ChromiumGitURL(c, 'chromium', 'deps', 'valgrind', 'binaries') |
646 | 584 |
647 @config_ctx(includes=['chromium']) | 585 @config_ctx(includes=['chromium']) |
648 def chromedriver(c): | 586 def chromedriver(c): |
649 """Add Selenium Java tests to the gclient solution.""" | 587 """Add Selenium Java tests to the gclient solution.""" |
650 c.solutions[0].custom_deps[ | 588 c.solutions[0].custom_deps[ |
651 'src/chrome/test/chromedriver/third_party/java_tests'] = ( | 589 'src/chrome/test/chromedriver/third_party/java_tests'] = ( |
652 ChromiumGitURL(c, 'chromium', 'deps', 'webdriver')) | 590 ChromiumGitURL(c, 'chromium', 'deps', 'webdriver')) |
OLD | NEW |