| Index: scripts/slave/recipe_modules/path/config.py
|
| diff --git a/scripts/slave/recipe_modules/path/config.py b/scripts/slave/recipe_modules/path/config.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4075d17243700cc50cbeca6ea4eb8be6705d4975
|
| --- /dev/null
|
| +++ b/scripts/slave/recipe_modules/path/config.py
|
| @@ -0,0 +1,47 @@
|
| +# Copyright 2013 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +from recipe_engine.config import config_item_context, ConfigGroup, Dict, Static
|
| +from recipe_engine.config_types import Path
|
| +
|
| +def BaseConfig(CURRENT_WORKING_DIR, TEMP_DIR, **_kwargs):
|
| + assert CURRENT_WORKING_DIR[0].endswith(('\\', '/'))
|
| + assert TEMP_DIR[0].endswith(('\\', '/'))
|
| + return ConfigGroup(
|
| + # base path name -> [tokenized absolute path]
|
| + base_paths = Dict(value_type=tuple),
|
| +
|
| + # dynamic path name -> Path object (referencing one of the base_paths)
|
| + dynamic_paths = Dict(value_type=(Path, type(None))),
|
| +
|
| + CURRENT_WORKING_DIR = Static(tuple(CURRENT_WORKING_DIR)),
|
| + TEMP_DIR = Static(tuple(TEMP_DIR)),
|
| + )
|
| +
|
| +def test_name(args): # pragma: no cover
|
| + if args['CURRENT_WORKING_DIR'][0] == '/':
|
| + return 'posix'
|
| + else:
|
| + return 'windows'
|
| +
|
| +config_ctx = config_item_context(BaseConfig)
|
| +
|
| +@config_ctx(is_root=True)
|
| +def BASE(c):
|
| + c.base_paths['cwd'] = c.CURRENT_WORKING_DIR
|
| + c.base_paths['tmp_base'] = c.TEMP_DIR
|
| +
|
| +@config_ctx()
|
| +def buildbot(c):
|
| + c.base_paths['root'] = c.CURRENT_WORKING_DIR[:-4]
|
| + c.base_paths['slave_build'] = c.CURRENT_WORKING_DIR
|
| + for token in ('build_internal', 'build', 'depot_tools'):
|
| + c.base_paths[token] = c.base_paths['root'] + (token,)
|
| + c.dynamic_paths['checkout'] = None
|
| +
|
| +@config_ctx(includes=['buildbot'])
|
| +def swarming(c):
|
| + c.base_paths['slave_build'] = (
|
| + c.CURRENT_WORKING_DIR[:1] +
|
| + ('b', 'fake_build', 'slave', 'fake_slave', 'build'))
|
|
|