# 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_gen_dir/product.txt"
  board = "$root_gen_dir/board.txt"
  version = "$root_gen_dir/version.txt"
  jiri_snapshot = "//.jiri_root/update_history/latest"
  latest_commit_date = "$root_gen_dir/latest-commit-date.txt"
  minimum_utc_stamp = "$root_gen_dir/minimum-utc-stamp.txt"
}

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