mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
f72782ce9b
The dart2js snapshot is not meant to be invoked directly except from a limited set of entry points (CLIs and internal build systems). This change makes it an error to invoke it in unsupported ways. Note: this change is not expected to be visible to end users. Fixes #51695 Change-Id: I4013dd00b90bb3d54483e2f112e0ddfb8dc694e4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289885 Reviewed-by: Nicholas Shahan <nshahan@google.com> Reviewed-by: Nate Biggs <natebiggs@google.com> Commit-Queue: Sigmund Cherem <sigmund@google.com>
145 lines
3.9 KiB
Text
145 lines
3.9 KiB
Text
# 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("../../sdk_args.gni")
|
|
import("../../utils/compile_platform.gni")
|
|
import("../application_snapshot.gni")
|
|
import("../create_timestamp.gni")
|
|
|
|
create_timestamp_file("dart2js_files_stamp") {
|
|
path = rebase_path("../../pkg/compiler/lib")
|
|
output = "$target_gen_dir/dart2js_files.stamp"
|
|
}
|
|
|
|
create_timestamp_file("runtime_lib_files_stamp") {
|
|
path = rebase_path("../../runtime/lib")
|
|
output = "$target_gen_dir/runtime_lib_files.stamp"
|
|
}
|
|
|
|
create_timestamp_file("dartdoc_files_stamp") {
|
|
path = rebase_path("../../sdk/lib/_internal/dartdoc")
|
|
output = "$target_gen_dir/dartdoc_files.stamp"
|
|
}
|
|
|
|
prebuilt_dart_action("dart2js_create_snapshot_entry") {
|
|
deps = [
|
|
":dart2js_files_stamp",
|
|
":dartdoc_files_stamp",
|
|
":runtime_lib_files_stamp",
|
|
]
|
|
|
|
output_dir = rebase_path(target_gen_dir)
|
|
|
|
script = "create_snapshot_entry.dart"
|
|
|
|
inputs = [
|
|
"$target_gen_dir/dart2js_files.stamp",
|
|
"../../tools/make_version.py",
|
|
"../../tools/VERSION",
|
|
]
|
|
|
|
outputs = [ "$target_gen_dir/dart2js.dart" ]
|
|
|
|
packages = "../../.dart_tool/package_config.json"
|
|
|
|
args = [ "--output_dir=$output_dir" ]
|
|
}
|
|
|
|
sdk_root = "../../sdk"
|
|
|
|
application_snapshot("dart2js") {
|
|
deps = [
|
|
":compile_dart2js_platform",
|
|
":compile_dart2js_platform_unsound",
|
|
":dart2js_create_snapshot_entry",
|
|
]
|
|
inputs = [
|
|
"$root_out_dir/dart2js_platform.dill",
|
|
"$root_out_dir/dart2js_platform_unsound.dill",
|
|
"$root_out_dir/dart2js_outline.dill",
|
|
"$root_out_dir/dart2js_outline_unsound.dill",
|
|
]
|
|
vm_args = []
|
|
main_dart = "$target_gen_dir/dart2js.dart"
|
|
training_args = [
|
|
"--invoker=gn_build",
|
|
"--packages=" +
|
|
rebase_path("../../.dart_tool/package_config.json", root_build_dir),
|
|
"--libraries-spec=" +
|
|
rebase_path("$sdk_root/lib/libraries.json", root_build_dir),
|
|
|
|
# Specifying the platform explicitly elides running the CFE on the sdk
|
|
# sources.
|
|
"--platform-binaries=" + rebase_path("$root_out_dir/", root_build_dir),
|
|
|
|
rebase_path("../../pkg/compiler/lib/src/util/memory_compiler.dart"),
|
|
]
|
|
}
|
|
|
|
compile_platform("compile_dart2js_platform_unsound") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_platform_unsound.dill",
|
|
"$root_out_dir/dart2js_outline_unsound.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js",
|
|
"--no-defines",
|
|
"dart:core",
|
|
]
|
|
}
|
|
compile_platform("compile_dart2js_platform") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_platform.dill",
|
|
"$root_out_dir/dart2js_outline.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js",
|
|
"--no-defines",
|
|
"dart:core",
|
|
"--nnbd-strong",
|
|
]
|
|
}
|
|
compile_platform("compile_dart2js_server_platform_unsound") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_server_platform_unsound.dill",
|
|
"$root_out_dir/dart2js_server_outline_unsound.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js_server",
|
|
"--no-defines",
|
|
"dart:core",
|
|
]
|
|
}
|
|
compile_platform("compile_dart2js_server_platform") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_server_platform.dill",
|
|
"$root_out_dir/dart2js_server_outline.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js_server",
|
|
"--no-defines",
|
|
"dart:core",
|
|
"--nnbd-strong",
|
|
]
|
|
}
|