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

declare_args() {
  # This variable specifies a fully qualified Chromium build output directory,
  # such as `/home/$USER/chrome/src/out/fuchsia`, from which `chrome`,
  # `cast_runner`, `web_runner`, and `web_engine` will be obtained.
  # All of those targets must exist in the output directory.
  # If unset, the prebuilt packages from CIPD will be used.
  chromium_build_dir = ""

  # Whether to use the most recent (canary) version of prebuilt Chromium
  # components. Otherwise, the qualified "release" version is used.
  # For scenarios where CastRunner is used,
  # [`use_cast_runner_canary`](#use_cast_runner_canary) must be set to the same
  # value.
  use_chromium_canary = false

  # Whether to use the most recent (canary) version of the CastRunner prebuilt.
  # Otherwise, the qualified "release" version is used.
  # Set [`use_chromium_canary`](#use_chromium_canary) to the same value.
  use_cast_runner_canary = false
}
