blob: 3f531722565d09622904bebf8e9bb8a799251714 [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.
library fuchsia.buildinfo;
using zx;
const uint64 MAX_STRING_LENGTH = 100;
table BuildInfo {
/// 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: string:MAX_STRING_LENGTH product_config;
/// A description of the board configuration used at build time, determined by
/// the value passed as BOARD in 'fx set'.
2: string:MAX_STRING_LENGTH board_config;
/// A description of the version of the build. Defaults to the same string as
/// latest_commit_date.
3: string:MAX_STRING_LENGTH version;
/// 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: string:MAX_STRING_LENGTH latest_commit_date;
};
/// Returns build information about a Fuchsia system.
[Discoverable]
protocol Provider {
/// Returns a table of build information.
GetBuildInfo() -> (BuildInfo build_info);
/// Returns a vmo containing the jiri snapshot of the most recent
/// ‘jiri update’. Returned as a vmo because snapshots are typically
/// much longer than the maximum FIDL message size.
GetSnapshotInfo() -> (zx.handle:VMO snapshot);
};