|  | # 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("../../utils/compile_platform.gni") | 
|  | import("../../utils/generate_patch_sdk.gni") | 
|  | import("../create_timestamp.gni") | 
|  | import("../application_snapshot.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" | 
|  | } | 
|  |  | 
|  | dart_action("dart2js_create_snapshot_entry") { | 
|  | deps = [ | 
|  | ":dart2js_files_stamp", | 
|  | ":dartdoc_files_stamp", | 
|  | ":runtime_lib_files_stamp", | 
|  | ] | 
|  |  | 
|  | # dart_action() needs kernel service snapshot to run in Dart 2 mode. | 
|  | # This can't be added as a dependency to dart_action() itself as it will | 
|  | # create a circular dependency. | 
|  | deps += [ "../../utils/kernel-service:kernel-service" ] | 
|  |  | 
|  | output_dir = rebase_path(target_gen_dir) | 
|  |  | 
|  | script = "create_snapshot_entry.dart" | 
|  |  | 
|  | inputs = [ | 
|  | "../../sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart", | 
|  | "$target_gen_dir/dart2js_files.stamp", | 
|  | "../../tools/make_version.py", | 
|  | "../../tools/VERSION", | 
|  | ] | 
|  |  | 
|  | outputs = [ | 
|  | "$target_gen_dir/dart2js.dart", | 
|  | ] | 
|  |  | 
|  | packages = "../../.packages" | 
|  |  | 
|  | args = [ | 
|  | "--output_dir=$output_dir", | 
|  | "--dart2js_main=pkg/compiler/lib/src/dart2js.dart", | 
|  | ] | 
|  | } | 
|  |  | 
|  | application_snapshot("dart2js") { | 
|  | deps = [ | 
|  | ":compile_dart2js_platform", | 
|  | ":dart2js_create_snapshot_entry", | 
|  | ] | 
|  | inputs = [ | 
|  | "$root_out_dir/dart2js_platform.dill", | 
|  | "$root_out_dir/dart2js_outline.dill", | 
|  | ] | 
|  | vm_args = [] | 
|  | main_dart = "$target_gen_dir/dart2js.dart" | 
|  | training_args = [ | 
|  | "--packages=" + rebase_path("../../.packages"), | 
|  | "--libraries-spec=" + rebase_path("../../sdk/lib/libraries.json"), | 
|  | rebase_path("$target_gen_dir/dart2js.dart"), | 
|  | ] | 
|  | } | 
|  |  | 
|  | compile_platform("compile_dart2js_platform") { | 
|  | single_root_scheme = "org-dartlang-sdk" | 
|  | single_root_base = rebase_path("../../") | 
|  | libraries_specification_uri = "org-dartlang-sdk:///sdk/lib/libraries.json" | 
|  |  | 
|  | outputs = [ | 
|  | "$root_out_dir/dart2js_platform.dill", | 
|  | "$root_out_dir/dart2js_outline.dill", | 
|  | ] | 
|  |  | 
|  | args = [ | 
|  | "--target=dart2js", | 
|  | "dart:core", | 
|  | ] | 
|  | } | 
|  | compile_platform("compile_dart2js_server_platform") { | 
|  | single_root_scheme = "org-dartlang-sdk" | 
|  | single_root_base = rebase_path("../../") | 
|  | libraries_specification_uri = "org-dartlang-sdk:///sdk/lib/libraries.json" | 
|  |  | 
|  | outputs = [ | 
|  | "$root_out_dir/dart2js_server_platform.dill", | 
|  | "$root_out_dir/dart2js_server_outline.dill", | 
|  | ] | 
|  |  | 
|  | args = [ | 
|  | "--target=dart2js_server", | 
|  | "dart:core", | 
|  | ] | 
|  | } |