| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package fint; |
| |
| option go_package = "go.fuchsia.dev/fuchsia/tools/integration/fint/proto"; |
| |
| // Static contains all of the non-dynamic configuration values for building |
| // Fuchsia. These values are "static" in the sense that they don't vary |
| // depending on things like git history or local environment, so they can be |
| // checked into version control. |
| message Static { |
| enum Optimize { |
| // If new values are added to an enum, a client using an old version of the |
| // protobuf definition will have all new values mapped to the enum's zero |
| // value. So it's important that the zero value be "special" rather than a |
| // regular value so the client can easily detect that something is wrong. |
| // See http://go/totw-4 for more info. |
| // TODO(olivernewman): Link to a public explanation if and when it becomes |
| // available. |
| OPTIMIZE_UNSPECIFIED = 0; DEBUG = 1; RELEASE = 2; |
| } |
| |
| // The optimization level for the build. |
| Optimize optimize = 1; |
| |
| // The board to build. |
| string board = 2; |
| |
| // The product file to build. |
| string product = 3; |
| |
| // Whether to skip building the basic images needed to boot and test on |
| // Fuchsia. |
| bool exclude_images = 4; |
| |
| // Extra args to pass to gn gen. |
| repeated string gn_args = 5; |
| |
| // Extra targets to pass to Ninja. |
| repeated string ninja_targets = 6; |
| |
| // Fuchsia packages to build and include in the base set. |
| repeated string base_packages = 7; |
| |
| // Fuchsia packages to build and include in the cache set. |
| repeated string cache_packages = 8; |
| |
| // Fuchsia packages to build and include in the universe set. |
| repeated string universe_packages = 9; |
| |
| // Whether to build host tests. |
| bool include_host_tests = 10; |
| |
| enum Arch { |
| ARCH_UNSPECIFIED = 0; // See OPTIMIZE_UNSPECIFIED for rationale. |
| ARM64 = 1; |
| X64 = 2; |
| } |
| |
| // The target CPU architecture. |
| Arch target_arch = 11; |
| |
| // Values of select_variant GN argument. |
| repeated string variants = 12; |
| |
| // Whether to include archives in the build. |
| bool include_archives = 13; |
| |
| // Whether to skip the ninja build if we're running in CQ and none of the |
| // changed files affect the build. |
| bool skip_if_unaffected = 14; |
| |
| // The path within the checkout of a file containing historical test duration |
| // data specific to the current build config. |
| string test_durations_file = 15; |
| |
| // If `test_durations_file` doesn't exist within the checkout, use this file |
| // instead. It's not specific to the current build config, but it can be |
| // assumed to always exist. |
| string default_test_durations_file = 16; |
| |
| // Whether to use goma for running ninja. Will be ignored (and goma will not |
| // be used) when building with some experimental toolchain versions. |
| bool use_goma = 17; |
| |
| // Whether to generate a listing of the commands run during the build. |
| bool generate_compdb = 18; |
| |
| // Whether to generate an IDE project.json file containing target information. |
| bool generate_ide = 19; |
| } |