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