blob: f4492496ae38528f46b02c9d704a5f7e9413ed23 [file] [log] [blame]
# 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',)