Index: utils/dartanalyzer/BUILD.gn |
diff --git a/utils/dartanalyzer/BUILD.gn b/utils/dartanalyzer/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e9d88a62fe81b070fba71b1bdab52fd29e09abc2 |
--- /dev/null |
+++ b/utils/dartanalyzer/BUILD.gn |
@@ -0,0 +1,68 @@ |
+# 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. |
+ |
+import("../invoke_dart.gni") |
+ |
+group("dartanalyzer") { |
+ deps = [ |
+ ":generate_dartanalyzer_snapshot", |
+ ":generate_summary_spec", |
+ ":generate_summary_strong", |
+ ] |
+} |
+ |
+analyzer_files = exec_script("../../tools/list_files.py", |
+ ["\\.dart\$", |
+ rebase_path("../../pkg/analyzer")], |
+ "list lines") |
+ |
+application_snapshot("generate_dartanalyzer_snapshot") { |
+ main_dart = "../../pkg/analyzer_cli/bin/analyzer.dart" |
+ name = "dartanalyzer" |
+ cli_files = exec_script("../../tools/list_files.py", |
+ ["\\.dart\$", |
+ rebase_path("../../pkg/analyzer_cli")], |
+ "list lines") |
+ inputs = cli_files + analyzer_files |
+} |
+ |
+sdk_lib_files = exec_script("../../tools/list_files.py", |
+ ["\\.dart\$", |
+ rebase_path("../../sdk/lib")], |
+ "list lines") |
+ |
+template("generate_summary") { |
+ assert(defined(invoker.type), "Must specify the summary type") |
+ type = invoker.type |
+ assert((type == "spec") || (type == "strong")) |
+ invoke_dart(target_name) { |
+ inputs = sdk_lib_files + analyzer_files |
+ |
+ output = "$root_gen_dir/$type.sum" |
+ outputs = [ |
+ output |
+ ] |
+ |
+ dot_packages = rebase_path("../../.packages") |
+ build_sdk_summaries = |
+ rebase_path("../../pkg/analyzer/tool/summary/build_sdk_summaries.dart") |
+ abs_output = rebase_path(output) |
+ |
+ args = [ |
+ "--packages=$dot_packages", |
+ build_sdk_summaries, |
+ "build-$type", |
+ abs_output, |
+ rebase_path("../../sdk"), |
+ ] |
+ } |
+} |
+ |
+generate_summary("generate_summary_spec") { |
+ type = "spec" |
+} |
+ |
+generate_summary("generate_summary_strong") { |
+ type = "strong" |
+} |