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

# Copies goldens to a location in the build directory so that the tests may be
# run away from source.
copy("copy_goldens") {
  # Manifest is generated by regen.sh.
  sources = read_file("goldens.txt", "list lines")

  outputs = [
    "$root_out_dir/test_data/fidlgen_dart/{{source_file_part}}",
  ]
}

group("goldens") {
  deps = [
    ":copy_goldens",
  ]
  metadata = {
    test_runtime_deps = get_target_outputs(":copy_goldens")
  }
}
