blob: a1e14a9f0fdd5b243e3c45509a7636cb7f7f760d [file] [log] [blame]
// 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.
@available(added=7)
library fuchsia.buildinfo;
const MAX_STRING_LENGTH uint64 = 100;
type BuildInfo = table {
/// A description of the product configuration used at build time, determined
/// by the value passed as PRODUCT in 'fx set'. See 'fx list-products' for a
/// list of possible values.
1: product_config string:MAX_STRING_LENGTH;
/// A description of the board configuration used at build time, determined by
/// the value passed as BOARD in 'fx set'. See `fx list-boards` for a list of
/// possible values.
2: board_config string:MAX_STRING_LENGTH;
/// A description of the version of the build. Defaults to the same string as
/// latest_commit_date.
3: version string:MAX_STRING_LENGTH;
/// The timestamp of the most recent commit to the integration repository
/// (specifically, the "CommitDate" field) formatted in strict ISO 8601 format in
/// the UTC timezone. Example: "2019-03-28T15:42:20+00:00"
4: latest_commit_date string:MAX_STRING_LENGTH;
};
/// Returns build information about a Fuchsia system.
@discoverable
closed protocol Provider {
/// Returns a table of build information.
strict GetBuildInfo() -> (struct {
build_info BuildInfo;
});
};