| # Copyright 2013 The Flutter Authors. 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/fuchsia/sdk.gni") |
| import("//flutter/build/dart/rules.gni") |
| import("//flutter/lib/ui/dart_ui.gni") |
| import("//third_party/dart/sdk/lib/_http/http_sources.gni") |
| import( |
| "//third_party/dart/sdk/lib/_internal/js_runtime/interceptors_sources.gni") |
| import("//third_party/dart/sdk/lib/async/async_sources.gni") |
| import("//third_party/dart/sdk/lib/collection/collection_sources.gni") |
| import("//third_party/dart/sdk/lib/convert/convert_sources.gni") |
| import("//third_party/dart/sdk/lib/core/core_sources.gni") |
| import("//third_party/dart/sdk/lib/developer/developer_sources.gni") |
| import("//third_party/dart/sdk/lib/ffi/ffi_sources.gni") |
| import("//third_party/dart/sdk/lib/html/html_sources.gni") |
| import("//third_party/dart/sdk/lib/internal/internal_sources.gni") |
| import("//third_party/dart/sdk/lib/io/io_sources.gni") |
| import("//third_party/dart/sdk/lib/isolate/isolate_sources.gni") |
| import("//third_party/dart/sdk/lib/js/js_sources.gni") |
| import("//third_party/dart/sdk/lib/js_util/js_util_sources.gni") |
| import("//third_party/dart/sdk/lib/math/math_sources.gni") |
| import("//third_party/dart/sdk/lib/typed_data/typed_data_sources.gni") |
| import("//third_party/dart/sdk/lib/wasm/wasm_sources.gni") |
| |
| if (!is_fuchsia) { |
| copy("copy_sky_engine_authors") { |
| sources = [ "//AUTHORS" ] |
| |
| outputs = [ "$root_gen_dir/dart-pkg/sky_engine/{{source_file_part}}" ] |
| } |
| } |
| |
| dart_sdk_lib_path = rebase_path("//third_party/dart/sdk/lib") |
| |
| copy("async") { |
| lib_path = rebase_path("async", "", dart_sdk_lib_path) |
| sources = rebase_path(async_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/async/{{source_file_part}}" ] |
| } |
| |
| copy("collection") { |
| lib_path = rebase_path("collection", "", dart_sdk_lib_path) |
| sources = rebase_path(collection_sdk_sources, "", lib_path) |
| outputs = [ |
| "$root_gen_dir/dart-pkg/sky_engine/lib/collection/{{source_file_part}}", |
| ] |
| } |
| |
| copy("convert") { |
| lib_path = rebase_path("convert", "", dart_sdk_lib_path) |
| sources = rebase_path(convert_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/convert/{{source_file_part}}" ] |
| } |
| |
| copy("core") { |
| lib_path = rebase_path("core", "", dart_sdk_lib_path) |
| sources = rebase_path(core_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/core/{{source_file_part}}" ] |
| } |
| |
| copy("developer") { |
| lib_path = rebase_path("developer", "", dart_sdk_lib_path) |
| sources = rebase_path(developer_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/developer/{{source_file_part}}" ] |
| } |
| |
| copy("_http") { |
| lib_path = rebase_path("_http", "", dart_sdk_lib_path) |
| sources = rebase_path(http_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/_http/{{source_file_part}}" ] |
| } |
| |
| copy("_interceptors") { |
| lib_path = rebase_path("_internal/js_runtime", "", dart_sdk_lib_path) |
| sources = rebase_path(interceptors_sdk_sources, "", lib_path) |
| outputs = [ |
| "$root_gen_dir/dart-pkg/sky_engine/lib/_interceptors/{{source_file_part}}", |
| ] |
| } |
| |
| copy("internal") { |
| lib_path = rebase_path("internal", "", dart_sdk_lib_path) |
| sources = rebase_path(internal_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/internal/{{source_file_part}}" ] |
| } |
| |
| copy("io") { |
| lib_path = rebase_path("io", "", dart_sdk_lib_path) |
| sources = rebase_path(io_sdk_sources, "", lib_path) |
| outputs = [ "$root_gen_dir/dart-pkg/sky_engine/lib/io/{{source_file_part}}" ] |
| } |
| |
| copy("ffi") { |
| lib_path = rebase_path("ffi", "", dart_sdk_lib_path) |
| sources = rebase_path(ffi_sdk_sources, "", lib_path) |
| outputs = [ "$root_gen_dir/dart-pkg/sky_engine/lib/ffi/{{source_file_part}}" ] |
| } |
| |
| copy("html") { |
| lib_path = rebase_path("html", "", dart_sdk_lib_path) |
| sources = rebase_path(html_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/html/{{source_file_part}}" ] |
| } |
| |
| copy("isolate") { |
| lib_path = rebase_path("isolate", "", dart_sdk_lib_path) |
| sources = rebase_path(isolate_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/isolate/{{source_file_part}}" ] |
| } |
| |
| copy("js") { |
| lib_path = rebase_path("js", "", dart_sdk_lib_path) |
| sources = rebase_path(js_sdk_sources, "", lib_path) |
| outputs = [ "$root_gen_dir/dart-pkg/sky_engine/lib/js/{{source_file_part}}" ] |
| } |
| |
| copy("js_util") { |
| lib_path = rebase_path("js_util", "", dart_sdk_lib_path) |
| sources = rebase_path(js_util_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/js_util/{{source_file_part}}" ] |
| } |
| |
| copy("math") { |
| lib_path = rebase_path("math", "", dart_sdk_lib_path) |
| sources = rebase_path(math_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/math/{{source_file_part}}" ] |
| } |
| |
| copy("typed_data") { |
| lib_path = rebase_path("typed_data", "", dart_sdk_lib_path) |
| sources = rebase_path(typed_data_sdk_sources, "", lib_path) |
| outputs = [ |
| "$root_gen_dir/dart-pkg/sky_engine/lib/typed_data/{{source_file_part}}", |
| ] |
| } |
| |
| copy("wasm") { |
| lib_path = rebase_path("wasm", "", dart_sdk_lib_path) |
| sources = rebase_path(wasm_sdk_sources, "", lib_path) |
| outputs = |
| [ "$root_gen_dir/dart-pkg/sky_engine/lib/wasm/{{source_file_part}}" ] |
| } |
| |
| copy("copy_dart_ui") { |
| sources = dart_ui_files |
| |
| outputs = [ "$root_gen_dir/dart-pkg/sky_engine/lib/ui/{{source_file_part}}" ] |
| } |
| |
| copy("copy_allowed_experiments") { |
| sources = [ "//third_party/dart/sdk/lib/_internal/allowed_experiments.json" ] |
| |
| outputs = [ |
| "$root_gen_dir/dart-pkg/sky_engine/lib/_internal/allowed_experiments.json", |
| ] |
| } |
| |
| group("copy_dart_sdk") { |
| deps = [ |
| ":_http", |
| ":_interceptors", |
| ":async", |
| ":collection", |
| ":convert", |
| ":copy_allowed_experiments", |
| ":core", |
| ":developer", |
| ":ffi", |
| ":html", |
| ":internal", |
| ":io", |
| ":isolate", |
| ":js", |
| ":js_util", |
| ":math", |
| ":typed_data", |
| ":wasm", |
| ] |
| } |
| |
| generated_file("_embedder_yaml") { |
| outputs = [ "$root_gen_dir/dart-pkg/sky_engine/lib/_embedder.yaml" ] |
| contents = [ |
| "# This file is generated by //flutter/sky/packages/sky_engine:_embedder_yaml", |
| "# Do not modify this file directly. Instead, update the build file.", |
| "", |
| "embedded_libs:", |
| " \"dart:async\": \"async/async.dart\"", |
| " \"dart:collection\": \"collection/collection.dart\"", |
| " \"dart:convert\": \"convert/convert.dart\"", |
| " \"dart:core\": \"core/core.dart\"", |
| " \"dart:developer\": \"developer/developer.dart\"", |
| " \"dart:ffi\": \"ffi/ffi.dart\"", |
| " \"dart:html\": \"html/html_dart2js.dart\"", |
| " \"dart:io\": \"io/io.dart\"", |
| " \"dart:isolate\": \"isolate/isolate.dart\"", |
| " \"dart:js\": \"js/js.dart\"", |
| " \"dart:js_util\": \"js_util/js_util.dart\"", |
| " \"dart:math\": \"math/math.dart\"", |
| " \"dart:typed_data\": \"typed_data/typed_data.dart\"", |
| " \"dart:ui\": \"ui/ui.dart\"", |
| " \"dart:wasm\": \"wasm/wasm_types.dart\"", |
| "", |
| " \"dart:_http\": \"_http/http.dart\"", |
| " \"dart:_interceptors\": \"_interceptors/interceptors.dart\"", |
| " # The _internal library is needed as some implementations bleed into the", |
| " # public API, e.g. List being Iterable by virtue of implementing", |
| " # EfficientLengthIterable. Not including this library yields analysis errors.", |
| " \"dart:_internal\": \"internal/internal.dart\"", |
| " \"dart:nativewrappers\": \"_empty.dart\"", |
| ] |
| } |
| |
| dart_pkg("sky_engine") { |
| sources = [ |
| "LICENSE", |
| "README.md", |
| "lib/_empty.dart", |
| "pubspec.yaml", |
| ] |
| |
| deps = [ |
| ":_embedder_yaml", |
| ":copy_dart_sdk", |
| ":copy_dart_ui", |
| ] |
| |
| if (!is_fuchsia) { |
| deps += [ ":copy_sky_engine_authors" ] |
| } |
| |
| service_isolate_dir = "//third_party/dart/sdk/lib/_internal/vm/bin/" |
| sdk_ext_directory = "$root_gen_dir/sky/bindings" |
| sdk_ext_files = [ |
| "$service_isolate_dir/vmservice_io.dart", |
| "$service_isolate_dir/vmservice_server.dart", |
| ] |
| } |