dart-sdk/utils/dartanalyzer/BUILD.gn
Zach Anderson 46189bcb19 Allow configuring the destination of the SDK in the build output directory
This is needed for the Flutter Engine to use a prebuilt Dart SDK as in
https://github.com/flutter/engine/pull/26931. When using a prebuilt
Dart SDK, the rules producing the built SDK are directed to a
different location so that GN doesn't warn about multiple rules that
produce the same file.

TEST=locally with a flutter/engine checkout
Change-Id: I4095f379c772c63f93a1c88c7f4e44804f3a6fc7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204760
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2021-06-29 18:45:29 +00:00

53 lines
1.4 KiB
Plaintext

# 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/dart/dart_action.gni")
import("../../sdk_args.gni")
import("../application_snapshot.gni")
import("../create_timestamp.gni")
group("dartanalyzer") {
deps = [
":generate_dartanalyzer_snapshot",
":generate_summary_strong",
]
}
application_snapshot("generate_dartanalyzer_snapshot") {
main_dart = "../../pkg/analyzer_cli/bin/analyzer.dart"
training_args = [
"--help",
# TODO(34616): This is broken on Fuchsia.
# "--dart-sdk=" + rebase_path("../../sdk/"),
# "--train-snapshot",
# rebase_path("../../tests/language_2/first_test.dart")
]
name = "dartanalyzer"
}
sdk_root = "../../sdk"
create_timestamp_file("sdk_lib_files") {
path = rebase_path("$sdk_root/lib")
output = "$target_gen_dir/sdk_lib_files.stamp"
}
prebuilt_dart_action("generate_summary_strong") {
deps = [
":sdk_lib_files",
"../../sdk:copy_libraries",
"../../sdk:write_version_file",
]
script = "../../pkg/analyzer/tool/summary/build_sdk_summaries.dart"
packages = "../../.packages"
output = "$root_gen_dir/strong.sum"
outputs = [ output ]
vm_args = [ "-Dsdk_hash=$sdk_hash" ]
args = [
"build",
rebase_path(output),
rebase_path("$root_out_dir/$dart_sdk_output"),
]
}