# Copyright 2019 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.

import("//build/board.gni")

declare_args() {
  # Product configuration of the current build
  build_info_product = ""

  # Board configuration of the current build
  build_info_board = board_name

  # Logical version of the current build. If not set, defaults to the timestamp
  # of the most recent update.
  build_info_version = ""
}

build_info_files = {
  product = "$root_build_dir/product.txt"
  board = "$root_build_dir/board.txt"
  version = "$root_build_dir/version.txt"
  jiri_snapshot = "//.jiri_root/update_history/latest"
  latest_commit_date = "$root_build_dir/latest-commit-date.txt"
  minimum_utc_stamp = "$root_build_dir/minimum-utc-stamp.txt"
}

if (build_info_version == "") {
  build_info_files.version = build_info_files.latest_commit_date
}
