blob: 959fe1817feae7ebc9a3e7931bc81254c399dc1c [file] [log] [blame]
DEPS = [
'infra/bqupload',
'infra/experimental',
'infra/git',
'infra/gn',
'infra/goma',
'infra/gsutil',
'infra/macos_sdk',
'infra/minfs',
'infra/ninja',
# TODO(IN-825): Delete this dependency once host-side tests are run only
# in shards.
'infra/tar',
'infra/testsharder',
'infra/upload',
'infra/upload_debug_symbols',
'infra/zbi',
'recipe_engine/cipd',
'recipe_engine/buildbucket',
'recipe_engine/context',
'recipe_engine/isolated',
'recipe_engine/json',
'recipe_engine/file',
'recipe_engine/path',
'recipe_engine/platform',
'recipe_engine/properties',
'recipe_engine/python',
'recipe_engine/raw_io',
'recipe_engine/step',
]
from recipe_engine.recipe_api import Property
from recipe_engine.config import ConfigGroup, Single, Enum, List, Set
# List of available targets.
TARGETS = ['x64', 'arm64']
# List of available build types.
BUILD_TYPES = ['debug', 'release', 'thinlto', 'lto']
PROPERTIES = {
'build.clang_toolchain':
Property(
help='clang toolchain used to build fuchsia',
param_name='clang_toolchain',
kind=ConfigGroup(
type=Enum('cipd', 'isolated'), instance=Single(str)),
default={},
),
'build.target':
Property(
param_name="target",
kind=Enum(*TARGETS),
help='Target to build',
default='x64'),
'build.build_type':
Property(
param_name="build_type",
kind=Enum(*BUILD_TYPES),
help='The build type',
default='debug'),
'build.packages':
Property(
param_name="packages",
kind=List(basestring),
help='Packages to build',
default=[]),
'build.universe_packages':
Property(
param_name="universe_packages",
kind=List(basestring),
help='Packages to build and add to the universe set',
default=[]),
'build.variants':
Property(
param_name="variants",
kind=List(basestring),
help='--variant arguments to GN in `select_variant`',
default=[]),
'build.gn_args':
Property(
param_name="gn_args",
kind=List(basestring),
help='Extra args to pass to GN',
default=[]),
'build.ninja_targets':
Property(
param_name="ninja_targets",
kind=Set(basestring),
help='A set of extra target args to pass to ninja',
default=[]),
'build.board':
Property(
param_name="board", kind=str, help='Board to build', default=None),
'build.product':
Property(
param_name="product",
kind=str,
help='Product to build',
default=None),
'build.exclude_images':
Property(
param_name='exclude_images',
kind=bool,
help='Whether to exclude the building of images',
default=False),
'build.include_breakpad_symbols':
Property(
param_name="include_breakpad_symbols",
kind=bool,
help='Whether to build and upload breakpad_symbols',
default=False),
'build.include_symbol_archive':
Property(
param_name="include_symbol_archive",
kind=bool,
help='Whether to build and upload a tar archive of all symbolized binaries',
default=False),
'build.run_tests':
Property(
param_name='run_tests',
kind=bool,
help='Whether to run target tests',
default=False),
'build.debug_symbol_bucket':
Property(
param_name='debug_symbol_bucket',
kind=str,
help='GCS bucket for uploading debug symbols',
default='fuchsia-infra-debug-symbols'),
'build.environment_tags':
Property(
param_name='environment_tags',
kind=List(str),
help='Tags of environments on which the testsharder will key',
default=[]),
}