blob: b04d1863927a774a85a4d1b9d2273f20a5a3562b [file] [log] [blame]
# 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("../../build/compiled_action.gni")
import("../application_snapshot.gni")
group("dartanalyzer") {
deps = [
":generate_dartanalyzer_snapshot",
":generate_summary_spec",
":generate_summary_strong",
]
}
analyzer_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../pkg/analyzer"),
],
"list lines")
application_snapshot("generate_dartanalyzer_snapshot") {
main_dart = "../../pkg/analyzer_cli/bin/analyzer.dart"
training_args = [
"--dart-sdk=" + rebase_path("../../sdk"),
rebase_path("../../tests/language/first_test.dart"),
]
name = "dartanalyzer"
cli_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../pkg/analyzer_cli"),
],
"list lines")
inputs = cli_files + analyzer_files
}
sdk_lib_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
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")
compiled_action(target_name) {
tool = "../../runtime/bin:dart"
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")
args = [
"--packages=$dot_packages",
build_sdk_summaries,
"build-$type",
rebase_path(output),
rebase_path("../../sdk"),
]
}
}
generate_summary("generate_summary_spec") {
type = "spec"
}
generate_summary("generate_summary_strong") {
type = "strong"
}