blob: 88e059a8dae0846c7de651459376a99f11b21a40 [file] [log] [blame]
# 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",
]
}