| # Copyright 2016 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| template("test_fixtures") { |
| testonly = true |
| |
| assert(defined(invoker.fixtures), "Test fixtures must be specified.") |
| |
| fixtures_name_target_name = target_name + "_gen_fixtures_name" |
| fixtures_source_set_target_name = target_name + "_gen_fixtures_source_set" |
| fixtures_copy_target_name = target_name + "_copy_fixtures" |
| |
| fixtures_location = "$target_gen_dir/fixtures" |
| fixtures_location_file = "$target_gen_dir/test_fixtures_location.cc" |
| |
| action(fixtures_name_target_name) { |
| script = "$flutter_root/testing/build/gen_fixtures_location_symbol.py" |
| |
| outputs = [ |
| fixtures_location_file, |
| ] |
| |
| args = [ |
| "--fixtures_location_file", |
| rebase_path(fixtures_location_file), |
| "--fixtures_location", |
| rebase_path(fixtures_location), |
| ] |
| } |
| |
| source_set(fixtures_source_set_target_name) { |
| sources = [ |
| fixtures_location_file, |
| ] |
| |
| deps = [ |
| ":$fixtures_name_target_name", |
| ] |
| } |
| |
| copy(fixtures_copy_target_name) { |
| sources = invoker.fixtures |
| outputs = [ |
| "$fixtures_location/{{source_file_part}}", |
| ] |
| } |
| |
| group(target_name) { |
| deps = [ |
| ":$fixtures_copy_target_name", |
| ":$fixtures_source_set_target_name", |
| ] |
| } |
| } |