| 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 |
| 11 | 11 |
| 12 | 12 |
| 13 def BaseConfig(USE_MIRROR=True, GIT_MODE=False, CACHE_DIR=None, | 13 def BaseConfig(USE_MIRROR=True, GIT_MODE=True, CACHE_DIR=None, |
| 14 PATCH_PROJECT=None, BUILDSPEC_VERSION=None, | 14 PATCH_PROJECT=None, BUILDSPEC_VERSION=None, |
| 15 **_kwargs): | 15 **_kwargs): |
| 16 deps = '.DEPS.git' if GIT_MODE else 'DEPS' | 16 deps = '.DEPS.git' if GIT_MODE else 'DEPS' |
| 17 cache_dir = str(CACHE_DIR) if CACHE_DIR else None | 17 cache_dir = str(CACHE_DIR) if CACHE_DIR else None |
| 18 return ConfigGroup( | 18 return ConfigGroup( |
| 19 solutions = ConfigList( | 19 solutions = ConfigList( |
| 20 lambda: ConfigGroup( | 20 lambda: ConfigGroup( |
| 21 name = Single(basestring), | 21 name = Single(basestring), |
| 22 url = Single(basestring), | 22 url = Single(basestring), |
| 23 deps_file = Single(basestring, empty_val=deps, required=False, | 23 deps_file = Single(basestring, empty_val=deps, required=False, |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 GIT_MODE = Static(bool(GIT_MODE)), | 89 GIT_MODE = Static(bool(GIT_MODE)), |
| 90 USE_MIRROR = Static(bool(USE_MIRROR)), | 90 USE_MIRROR = Static(bool(USE_MIRROR)), |
| 91 # TODO(tandrii): remove PATCH_PROJECT field. | 91 # TODO(tandrii): remove PATCH_PROJECT field. |
| 92 # DON'T USE THIS. WILL BE REMOVED. | 92 # DON'T USE THIS. WILL BE REMOVED. |
| 93 PATCH_PROJECT = Static(str(PATCH_PROJECT), hidden=True), | 93 PATCH_PROJECT = Static(str(PATCH_PROJECT), hidden=True), |
| 94 BUILDSPEC_VERSION= Static(BUILDSPEC_VERSION, hidden=True), | 94 BUILDSPEC_VERSION= Static(BUILDSPEC_VERSION, hidden=True), |
| 95 ) | 95 ) |
| 96 | 96 |
| 97 config_ctx = config_item_context(BaseConfig) | 97 config_ctx = config_item_context(BaseConfig) |
| 98 | 98 |
| 99 def ChromiumSvnSubURL(c, *pieces): | 99 def ChromiumSvnSubURL(c, *pieces): # pragma: no cover |
| 100 BASES = ('https://src.chromium.org', | 100 BASES = ('https://src.chromium.org', |
| 101 'svn://svn-mirror.golo.chromium.org') | 101 'svn://svn-mirror.golo.chromium.org') |
| 102 return '/'.join((BASES[c.USE_MIRROR],) + pieces) | 102 return '/'.join((BASES[c.USE_MIRROR],) + pieces) |
| 103 | 103 |
| 104 def ChromiumGitURL(_c, *pieces): | 104 def ChromiumGitURL(_c, *pieces): |
| 105 return '/'.join(('https://chromium.googlesource.com',) + pieces) | 105 return '/'.join(('https://chromium.googlesource.com',) + pieces) |
| 106 | 106 |
| 107 def ChromiumSrcURL(c): | 107 def ChromiumSrcURL(c): |
| 108 # TODO(phajdan.jr): Move to proper repo and add coverage. | 108 # TODO(phajdan.jr): Move to proper repo and add coverage. |
| 109 if c.GIT_MODE: # pragma: no cover | 109 if c.GIT_MODE: |
| 110 return ChromiumGitURL(c, 'chromium', 'src.git') | 110 return ChromiumGitURL(c, 'chromium', 'src.git') |
| 111 else: | 111 else: # pragma: no cover |
| 112 return ChromiumSvnSubURL(c, 'chrome', 'trunk', 'src') | 112 return ChromiumSvnSubURL(c, 'chrome', 'trunk', 'src') |
| 113 | 113 |
| 114 def BlinkURL(c): | 114 def BlinkURL(c): |
| 115 # TODO(phajdan.jr): Move to proper repo and add coverage. | 115 # TODO(phajdan.jr): Move to proper repo and add coverage. |
| 116 if c.GIT_MODE: # pragma: no cover | 116 if c.GIT_MODE: |
| 117 return ChromiumGitURL(c, 'chromium', 'blink.git') | 117 return ChromiumGitURL(c, 'chromium', 'blink.git') |
| 118 else: | 118 else: # pragma: no cover |
| 119 return ChromiumSvnSubURL(c, 'blink', 'trunk') | 119 return ChromiumSvnSubURL(c, 'blink', 'trunk') |
| 120 | 120 |
| 121 def ChromeSvnSubURL(c, *pieces): | 121 def ChromeSvnSubURL(c, *pieces): # pragma: no cover |
| 122 BASES = ('svn://svn.chromium.org', | 122 BASES = ('svn://svn.chromium.org', |
| 123 'svn://svn-mirror.golo.chromium.org') | 123 'svn://svn-mirror.golo.chromium.org') |
| 124 return '/'.join((BASES[c.USE_MIRROR],) + pieces) | 124 return '/'.join((BASES[c.USE_MIRROR],) + pieces) |
| 125 | 125 |
| 126 # TODO(phajdan.jr): Move to proper repo and add coverage. | 126 # TODO(phajdan.jr): Move to proper repo and add coverage. |
| 127 def ChromeInternalGitURL(_c, *pieces): # pragma: no cover | 127 def ChromeInternalGitURL(_c, *pieces): # pragma: no cover |
| 128 return '/'.join(('https://chrome-internal.googlesource.com',) + pieces) | 128 return '/'.join(('https://chrome-internal.googlesource.com',) + pieces) |
| 129 | 129 |
| 130 def ChromeInternalSrcURL(c): | 130 def ChromeInternalSrcURL(c): |
| 131 # TODO(phajdan.jr): Move to proper repo and add coverage. | 131 # TODO(phajdan.jr): Move to proper repo and add coverage. |
| 132 if c.GIT_MODE: # pragma: no cover | 132 if c.GIT_MODE: |
| 133 return ChromeInternalGitURL(c, 'chrome', 'src-internal.git') | 133 return ChromeInternalGitURL(c, 'chrome', 'src-internal.git') |
| 134 else: | 134 else: # pragma: no cover |
| 135 return ChromeSvnSubURL(c, 'chrome-internal', 'trunk', 'src-internal') | 135 return ChromeSvnSubURL(c, 'chrome-internal', 'trunk', 'src-internal') |
| 136 | 136 |
| 137 def mirror_only(c, obj, default=None): | 137 def mirror_only(c, obj, default=None): |
| 138 return obj if c.USE_MIRROR else (default or obj.__class__()) | 138 return obj if c.USE_MIRROR else (default or obj.__class__()) |
| 139 | 139 |
| 140 @config_ctx() | 140 @config_ctx() |
| 141 def chromium_bare(c): | 141 def chromium_bare(c): |
| 142 s = c.solutions.add() | 142 s = c.solutions.add() |
| 143 s.name = 'src' | 143 s.name = 'src' |
| 144 s.url = ChromiumSrcURL(c) | 144 s.url = ChromiumSrcURL(c) |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 | 343 |
| 344 @config_ctx() | 344 @config_ctx() |
| 345 def gyp(c): | 345 def gyp(c): |
| 346 s = c.solutions.add() | 346 s = c.solutions.add() |
| 347 s.name = 'gyp' | 347 s.name = 'gyp' |
| 348 s.url = ChromiumGitURL(c, 'external', 'gyp.git') | 348 s.url = ChromiumGitURL(c, 'external', 'gyp.git') |
| 349 m = c.got_revision_mapping | 349 m = c.got_revision_mapping |
| 350 m['gyp'] = 'got_revision' | 350 m['gyp'] = 'got_revision' |
| 351 | 351 |
| 352 @config_ctx(config_vars={'GIT_MODE': True}) | 352 @config_ctx(config_vars={'GIT_MODE': True}) |
| 353 def build(c): # pragma: no cover | 353 def build(c): |
| 354 if not c.GIT_MODE: | 354 if not c.GIT_MODE: # pragma: no cover |
| 355 raise BadConf('build only supports git') | 355 raise BadConf('build only supports git') |
| 356 s = c.solutions.add() | 356 s = c.solutions.add() |
| 357 s.name = 'build' | 357 s.name = 'build' |
| 358 s.url = ChromiumGitURL(c, 'chromium', 'tools', 'build.git') | 358 s.url = ChromiumGitURL(c, 'chromium', 'tools', 'build.git') |
| 359 m = c.got_revision_mapping | 359 m = c.got_revision_mapping |
| 360 m['build'] = 'got_revision' | 360 m['build'] = 'got_revision' |
| 361 | 361 |
| 362 @config_ctx(config_vars={'GIT_MODE': True}) | 362 @config_ctx(config_vars={'GIT_MODE': True}) |
| 363 def depot_tools(c): # pragma: no cover | 363 def depot_tools(c): # pragma: no cover |
| 364 if not c.GIT_MODE: | 364 if not c.GIT_MODE: |
| 365 raise BadConf('depot_tools only supports git') | 365 raise BadConf('depot_tools only supports git') |
| 366 s = c.solutions.add() | 366 s = c.solutions.add() |
| 367 s.name = 'depot_tools' | 367 s.name = 'depot_tools' |
| 368 s.url = ChromiumGitURL(c, 'chromium', 'tools', 'depot_tools.git') | 368 s.url = ChromiumGitURL(c, 'chromium', 'tools', 'depot_tools.git') |
| 369 m = c.got_revision_mapping | 369 m = c.got_revision_mapping |
| 370 m['depot_tools'] = 'got_revision' | 370 m['depot_tools'] = 'got_revision' |
| 371 | 371 |
| 372 @config_ctx(config_vars={'GIT_MODE': True}) | 372 @config_ctx(config_vars={'GIT_MODE': True}) |
| 373 def skia(c): # pragma: no cover | 373 def skia(c): # pragma: no cover |
| 374 if not c.GIT_MODE: | 374 if not c.GIT_MODE: |
| 375 raise BadConf('skia only supports git') | 375 raise BadConf('skia only supports git') |
| 376 s = c.solutions.add() | 376 s = c.solutions.add() |
| 377 s.name = 'skia' | 377 s.name = 'skia' |
| 378 s.url = 'https://skia.googlesource.com/skia.git' | 378 s.url = 'https://skia.googlesource.com/skia.git' |
| 379 m = c.got_revision_mapping | 379 m = c.got_revision_mapping |
| 380 m['skia'] = 'got_revision' | 380 m['skia'] = 'got_revision' |
| 381 | 381 |
| 382 @config_ctx(config_vars={'GIT_MODE': True}) | 382 @config_ctx(config_vars={'GIT_MODE': True}) |
| 383 def chrome_golo(c): # pragma: no cover | 383 def chrome_golo(c): # pragma: no cover |
| 384 if not c.GIT_MODE: | 384 if not c.GIT_MODE: |
| 385 raise BadConf('chrome_golo only supports git') | 385 raise BadConf('chrome_golo only supports git') |
| 386 s = c.solutions.add() | 386 s = c.solutions.add() |
| 387 s.name = 'chrome_golo' | 387 s.name = 'chrome_golo' |
| 388 s.url = 'https://chrome-internal.googlesource.com/chrome-golo/chrome-golo.git' | 388 s.url = 'https://chrome-internal.googlesource.com/chrome-golo/chrome-golo.git' |
| 389 c.got_revision_mapping['chrome_golo'] = 'got_revision' | 389 c.got_revision_mapping['chrome_golo'] = 'got_revision' |
| 390 | 390 |
| 391 @config_ctx(config_vars={'GIT_MODE': True}) | 391 @config_ctx(config_vars={'GIT_MODE': True}) |
| 392 def build_internal(c): | 392 def build_internal(c): |
| 393 if not c.GIT_MODE: # pragma: no cover | 393 if not c.GIT_MODE: # pragma: no cover |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 """Add Valgrind binaries to the gclient solution.""" | 671 """Add Valgrind binaries to the gclient solution.""" |
| 672 c.solutions[0].custom_deps['src/third_party/valgrind'] = \ | 672 c.solutions[0].custom_deps['src/third_party/valgrind'] = \ |
| 673 ChromiumGitURL(c, 'chromium', 'deps', 'valgrind', 'binaries') | 673 ChromiumGitURL(c, 'chromium', 'deps', 'valgrind', 'binaries') |
| 674 | 674 |
| 675 @config_ctx(includes=['chromium']) | 675 @config_ctx(includes=['chromium']) |
| 676 def chromedriver(c): | 676 def chromedriver(c): |
| 677 """Add Selenium Java tests to the gclient solution.""" | 677 """Add Selenium Java tests to the gclient solution.""" |
| 678 c.solutions[0].custom_deps[ | 678 c.solutions[0].custom_deps[ |
| 679 'src/chrome/test/chromedriver/third_party/java_tests'] = ( | 679 'src/chrome/test/chromedriver/third_party/java_tests'] = ( |
| 680 ChromiumGitURL(c, 'chromium', 'deps', 'webdriver')) | 680 ChromiumGitURL(c, 'chromium', 'deps', 'webdriver')) |
| OLD | NEW |