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

# TODO(http://fxbug.dev/94466): The variables herein are no longer only about
# tracing, but also cover various validation checks.  Rename or re-org these.

declare_args() {
  # If enabled, all filesystem activity by actions will be traced and checked
  # against their declared inputs and outputs and depfiles (if present).
  # An action that accesses undeclared inputs or outputs will fail the build.
  build_should_trace_actions = false

  # If enabled, run each affected action twice (once with renamed outputs)
  # and compare the outputs' contents for reproducibility.
  check_repeatability = false

  # If enabled, check that the output dir path does not leak into
  # the command or any of its output files.  This is important for
  # remote build consistency and caching.
  check_output_dir_leaks = true
}
