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"), |
+ ] |
+} |