# Copyright 2016 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_MODULES.recipe_engine.path import CONFIG_CTX @CONFIG_CTX() def infra_common(c): c.dynamic_paths['checkout'] = None @CONFIG_CTX(includes=['infra_common']) def infra_buildbot(c): """Used on BuildBot by "annotated_run".""" c.base_paths['root'] = c.START_DIR[:-4] c.base_paths['cache'] = c.base_paths['root'] + ( 'build', 'slave', 'cache') c.base_paths['git_cache'] = c.base_paths['root'] + ( 'build', 'slave', 'cache_dir') c.base_paths['cleanup'] = c.START_DIR[:-1] + ('build.dead',) c.base_paths['goma_cache'] = c.base_paths['root'] + ( 'build', 'slave', 'goma_cache') for token in ('build_internal', 'build', 'depot_tools'): c.base_paths[token] = c.base_paths['root'] + (token,) @CONFIG_CTX(includes=['infra_common']) def infra_kitchen(c): """Used on BuildBot by "remote_run" when NOT running Kitchen.""" c.base_paths['root'] = c.START_DIR # TODO(phajdan.jr): have one cache dir, let clients append suffixes. b_dir = c.START_DIR while b_dir and b_dir[-1] != 'b': b_dir = b_dir[:-1] if c.PLATFORM in ('linux', 'mac'): c.base_paths['cache'] = ('/', 'b', 'c') c.base_paths['builder_cache'] = c.base_paths['cache'] + ('b',) for path in ('git_cache', 'goma_cache'): c.base_paths[path] = c.base_paths['cache'] + (path,) elif b_dir: c.base_paths['cache'] = b_dir + ('c',) c.base_paths['builder_cache'] = c.base_paths['cache'] + ('b',) for path in ('git_cache', 'goma_cache'): c.base_paths[path] = c.base_paths['cache'] + (path,) else: # pragma: no cover c.base_paths['cache'] = c.base_paths['root'] + ('c',) c.base_paths['builder_cache'] = c.base_paths['cache'] + ('b',) c.base_paths['git_cache'] = c.base_paths['root'] + ('cache_dir',) for path in ('goma_cache',): c.base_paths[path] = c.base_paths['cache'] + (path,) @CONFIG_CTX() def infra_generic(c): """Used by Kitchen runs on both SwarmBucket and "remote_run"+Kitchen. The default path values (ones not set explicitly here) are either installed by Kitchen directly, or are recipe engine defaults. Note that in "kitchen", the "start_dir" is ephemeral. """ c.base_paths['builder_cache'] = c.base_paths['cache'] + ('builder',) c.base_paths['git_cache'] = c.base_paths['cache'] + ('git',) c.base_paths['goma_cache'] = c.base_paths['cache'] + ('goma',)