blob: a58876c38df6ce94603a34c83682598fa4d4aea4 [file] [log] [blame]
# 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",
]
}
}