| # 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. |
| |
| # Defines a build-time test that verifies that two files have the same |
| # contents. |
| # |
| # Meant to be used during build migrations to ensure that two different |
| # actions are producing files with the same contents. Similar to the |
| # golden_file template, but with slightly different arguments and error |
| # messages to better convey why it's caused a build failure. |
| # |
| # Parameters |
| # first (required) |
| # Path to the first file. |
| # |
| # second (required) |
| # Path to the second file. |
| # |
| template("verify_files_match") { |
| assert(defined(invoker.first), "first is a required parameter") |
| assert(defined(invoker.second), "second is a required parameter") |
| |
| action(target_name) { |
| forward_variables_from(invoker, "*") |
| |
| script = "//build/testing/verify_files_match.py" |
| |
| stamp_file = "$target_gen_dir/$target_name.verified" |
| |
| inputs = [ |
| first, |
| second, |
| ] |
| |
| outputs = [ stamp_file ] |
| |
| args = [ |
| "--stamp", |
| rebase_path(stamp_file, root_build_dir), |
| rebase_path(first, root_build_dir), |
| rebase_path(second, root_build_dir), |
| ] |
| } |
| } |