Chromium Code Reviews| Index: pkg/BUILD.gn |
| diff --git a/pkg/BUILD.gn b/pkg/BUILD.gn |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f400fb86ed0fa9eb224d8a88039a13b8b2bee35a |
| --- /dev/null |
| +++ b/pkg/BUILD.gn |
| @@ -0,0 +1,73 @@ |
| +# Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| +# for details. All rights reserved. Use of this source code is governed by a |
| +# BSD-style license that can be found in the LICENSE file. |
| + |
| +template("make_third_party_pkg_files_stamp") { |
|
Cutch
2016/09/29 16:41:26
Could this be factored into a template that is sha
zra
2016/09/29 17:46:41
Done.
|
| + assert(defined(invoker.pattern), "Must define the file pattern") |
| + assert(defined(invoker.id), "Must define the stamp file id") |
| + pattern = invoker.pattern |
| + id = invoker.id |
| + action(target_name) { |
| + files = exec_script("../tools/list_files.py", |
| + [pattern, rebase_path("../third_party/pkg")], |
| + "list lines") |
| + inputs = [ "../tools/list_files.py" ] + |
| + rebase_path(files, "//", ".") |
| + |
| + outputs = [ |
| + "$target_gen_dir/third_party_pkg_files_$id.stamp" |
| + ] |
| + |
| + script = "../tools/create_timestamp_file.py" |
| + args = [ |
| + rebase_path("$target_gen_dir/third_party_pkg_files_$id.stamp"), |
| + ] |
| + } |
| +} |
| + |
| +make_third_party_pkg_files_stamp("make_third_party_pkg_files_1_stamp") { |
| + pattern = "^(?!.*_test\.dart).*[a-k]\.dart\$" |
| + id = "1" |
| +} |
| + |
| +make_third_party_pkg_files_stamp("make_third_party_pkg_files_2_stamp") { |
| + pattern = "^(?!.*_test\.dart).*[l-r]\.dart\$" |
| + id = "2" |
| +} |
| + |
| +make_third_party_pkg_files_stamp("make_third_party_pkg_files_3_stamp") { |
| + pattern = "^(?!.*_test\.dart).*[^a-r]\.dart\$" |
| + id = "3" |
| +} |
| + |
| +action("pkg_files_stamp") { |
| + deps = [ |
| + ":make_third_party_pkg_files_1_stamp", |
| + ":make_third_party_pkg_files_2_stamp", |
| + ":make_third_party_pkg_files_3_stamp", |
| + ] |
| + |
| + files = exec_script("../tools/list_files.py", |
| + ["^(?!.*/test/).*(?<!_test)[.]dart\$", |
| + rebase_path(".")], |
| + "list lines") |
| + |
| + stamp1_outputs = get_target_outputs(":make_third_party_pkg_files_1_stamp") |
| + stamp2_outputs = get_target_outputs(":make_third_party_pkg_files_2_stamp") |
| + stamp3_outputs = get_target_outputs(":make_third_party_pkg_files_3_stamp") |
| + |
| + inputs = ["../tools/list_files.py"] + |
| + rebase_path(files, "//", ".") + |
| + stamp1_outputs + |
| + stamp2_outputs + |
| + stamp3_outputs |
| + |
| + outputs = [ |
| + "$root_gen_dir/pkg_files.stamp" |
| + ] |
| + |
| + script = "../tools/create_timestamp_file.py" |
| + args = [ |
| + rebase_path("$root_gen_dir/pkg_files.stamp"), |
| + ] |
| +} |