mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
* Manual roll of Dart from 24c7666def...40fd1c456e dart-lang/sdk@40fd1c456e Revert "[dart:io] Add Abort() on HttpClientRequest" dart-lang/sdk@17d7296a42 [vm/nnbd/bytecode] Fix reuse of type arguments in bytecode dart-lang/sdk@58b6f40c73 Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns. (reland) dart-lang/sdk@fc8a6d9f9b [VM/compiler] Dereference TypeRef literal when propagating constants. dart-lang/sdk@0689ec527a Move "test.dart" (well, most of its contents) into pkg/test_runner. dart-lang/sdk@1094b3c61d Prepare static error test updater tool to handle web tests. dart-lang/sdk@b258585f2f [observatory] Migrate from deprecated isInstanceOf to isA. dart-lang/sdk@dfe1d9b682 Disable OverrideContributor for Cider. dart-lang/sdk@aea99b2f5c scope debug property assist to Diagnosticables dart-lang/sdk@4b96f20a79 [dart:io] Add Abort() on HttpClientRequest dart-lang/sdk@1b1a39708c [build] Use frameworks instead of libs dart-lang/sdk@3fef522496 Revert "Reland "[vm] Replaces fuchsia.deprecatedtimezone"" dart-lang/sdk@8c664d4f3f Revert "Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns." dart-lang/sdk@2efb5bebc7 [ dart:_http ] Fix typo in HTTP response timeline event dart-lang/sdk@0884dae36c Revert "Fix the #include path for ICU headers" dart-lang/sdk@5171534e81 Scope tweaks. Report REFERENCED_BEFORE_DECLARATION in more places. dart-lang/sdk@6bba75079a Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns. dart-lang/sdk@b4ebbb7f5c [build] Update gn to match Fuchsia dart-lang/sdk@cb428a7a02 [dart2js] Remove old bug work around in collector. dart-lang/sdk@08663c20ab Change flutter patch to match existing DEPS on master branch dart-lang/sdk@146ad014d9 update js/meta for the 2.10 dev sdk dart-lang/sdk@488c718793 [co19] Roll co19 to d79951e06e443213243e54c2c32694b79a221b65 dart-lang/sdk@ba20edd7be Add patch for flutter-engine when changing to version 2.10 * Rev buildroot to latest version. * Update license. * update. * Update gn revision. * Format BUILD.gn files as the gn revision has been updated.
396 lines
11 KiB
Plaintext
396 lines
11 KiB
Plaintext
# Copyright 2019 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("//third_party/dart/build/dart/dart_action.gni")
|
|
import("//third_party/dart/utils/compile_platform.gni")
|
|
|
|
sdk_dill = "$root_out_dir/flutter_web_sdk/kernel/flutter_ddc_sdk.dill"
|
|
sdk_dill_sound =
|
|
"$root_out_dir/flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill"
|
|
|
|
dart_sdk_package_config = "//third_party/dart/.dart_tool/package_config.json"
|
|
|
|
web_ui_sources = exec_script("//third_party/dart/tools/list_dart_files.py",
|
|
[
|
|
"absolute",
|
|
rebase_path("//flutter/lib/web_ui/lib/src/ui"),
|
|
],
|
|
"list lines")
|
|
|
|
web_ui_sources += [ "//flutter/lib/web_ui/lib/ui.dart" ]
|
|
|
|
web_engine_sources =
|
|
exec_script("//third_party/dart/tools/list_dart_files.py",
|
|
[
|
|
"absolute",
|
|
rebase_path("//flutter/lib/web_ui/lib/src/engine"),
|
|
],
|
|
"list lines")
|
|
|
|
web_engine_sources += [ "//flutter/lib/web_ui/lib/src/engine.dart" ]
|
|
|
|
group("web_sdk") {
|
|
deps = [
|
|
":flutter_dartdevc_canvaskit_kernel_sdk",
|
|
":flutter_dartdevc_canvaskit_kernel_sdk_sound",
|
|
":flutter_dartdevc_kernel_sdk",
|
|
":flutter_dartdevc_kernel_sdk_outline",
|
|
":flutter_dartdevc_kernel_sdk_outline_sound",
|
|
":flutter_dartdevc_kernel_sdk_sound",
|
|
":web_engine_sources",
|
|
":web_ui_library",
|
|
":web_ui_sources",
|
|
]
|
|
}
|
|
|
|
prebuilt_dart_action("web_ui_sources") {
|
|
inputs = web_ui_sources + [ "sdk_rewriter.dart" ]
|
|
|
|
packages = dart_sdk_package_config
|
|
script = "sdk_rewriter.dart"
|
|
output_dir = rebase_path("$root_out_dir/flutter_web_sdk/lib/ui/")
|
|
input_dir = rebase_path("//flutter/lib/web_ui/lib/")
|
|
|
|
outputs = [ "$target_gen_dir/$target_name.stamp" ]
|
|
|
|
args = [
|
|
"--output-dir=$output_dir",
|
|
"--input-dir=$input_dir",
|
|
"--ui",
|
|
"--stamp",
|
|
rebase_path(outputs[0], root_build_dir),
|
|
]
|
|
|
|
foreach(source_file, web_ui_sources) {
|
|
path = rebase_path(source_file)
|
|
args += [ "--input=$path" ]
|
|
}
|
|
}
|
|
|
|
prebuilt_dart_action("web_engine_sources") {
|
|
inputs = web_engine_sources + [ "sdk_rewriter.dart" ]
|
|
|
|
packages = dart_sdk_package_config
|
|
script = "sdk_rewriter.dart"
|
|
output_dir = rebase_path("$root_out_dir/flutter_web_sdk/lib/_engine/")
|
|
input_dir = rebase_path("//flutter/lib/web_ui/lib/src/")
|
|
|
|
outputs = [ "$target_gen_dir/$target_name.stamp" ]
|
|
|
|
args = [
|
|
"--output-dir=$output_dir",
|
|
"--input-dir=$input_dir",
|
|
"--engine",
|
|
"--stamp",
|
|
rebase_path(outputs[0], root_build_dir),
|
|
]
|
|
|
|
foreach(source_file, web_engine_sources) {
|
|
path = rebase_path(source_file)
|
|
args += [ "--input=$path" ]
|
|
}
|
|
}
|
|
|
|
copy("web_ui_library") {
|
|
sources = [ "//flutter/web_sdk/libraries.json" ]
|
|
|
|
outputs = [ "$root_out_dir/flutter_web_sdk/{{source_file_part}}" ]
|
|
}
|
|
|
|
# Compile the DDC SDK's summary.
|
|
prebuilt_dart_action("flutter_dartdevc_kernel_sdk_outline") {
|
|
deps = [
|
|
"//third_party/dart:create_sdk",
|
|
"//third_party/dart/pkg:pkg_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp",
|
|
]
|
|
|
|
inputs = [ "sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
|
|
|
|
outputs = [ sdk_dill ]
|
|
|
|
script = "//third_party/dart/utils/bazel/kernel_worker.dart"
|
|
|
|
args = [
|
|
"--enable-experiment=non-nullable",
|
|
"--summary-only",
|
|
"--target",
|
|
"ddc",
|
|
"--packages-file",
|
|
"file:///" + rebase_path(dart_sdk_package_config),
|
|
"--multi-root-scheme",
|
|
"org-dartlang-sdk",
|
|
"--multi-root",
|
|
"file:///" + rebase_path("$root_out_dir"),
|
|
"--libraries-file",
|
|
"org-dartlang-sdk:///flutter_web_sdk/libraries.json",
|
|
"--output",
|
|
rebase_path(sdk_dill),
|
|
"--source",
|
|
"dart:core",
|
|
|
|
# Additional Flutter web dart libraries
|
|
"--source",
|
|
"dart:ui",
|
|
"--source",
|
|
"dart:_engine",
|
|
]
|
|
}
|
|
|
|
# Compiles the DDC SDK's JS code.
|
|
prebuilt_dart_action("flutter_dartdevc_kernel_sdk") {
|
|
deps = [
|
|
"//third_party/dart:create_sdk",
|
|
"//third_party/dart/pkg:pkg_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp",
|
|
]
|
|
|
|
inputs = [ "sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
|
|
|
|
packages = dart_sdk_package_config
|
|
|
|
script = "//third_party/dart/pkg/dev_compiler/bin/dartdevc.dart"
|
|
|
|
outputs = [
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd/dart_sdk.js",
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd/dart_sdk.js.map",
|
|
]
|
|
|
|
args = [
|
|
"--enable-experiment=non-nullable",
|
|
"--compile-sdk",
|
|
"dart:core",
|
|
|
|
# Additional Flutter web dart libraries
|
|
"dart:ui",
|
|
"dart:_engine",
|
|
"--no-summarize",
|
|
"--packages",
|
|
"file:///" + rebase_path(dart_sdk_package_config),
|
|
"--multi-root-scheme",
|
|
"org-dartlang-sdk",
|
|
"--multi-root",
|
|
"file:///" + rebase_path("$root_out_dir"),
|
|
"--multi-root-output-path",
|
|
rebase_path("$root_out_dir/"),
|
|
"--libraries-file",
|
|
"org-dartlang-sdk:///flutter_web_sdk/libraries.json",
|
|
"--inline-source-map",
|
|
"--modules",
|
|
"amd",
|
|
"-o",
|
|
rebase_path("$root_out_dir/flutter_web_sdk/kernel/amd/dart_sdk.js"),
|
|
"--modules",
|
|
"legacy",
|
|
"-o",
|
|
rebase_path("$root_out_dir/flutter_web_sdk/kernel/legacy/dart_sdk.js"),
|
|
]
|
|
}
|
|
|
|
# Compiles the DDC CanvasKit SDK's JS code.
|
|
prebuilt_dart_action("flutter_dartdevc_canvaskit_kernel_sdk") {
|
|
deps = [
|
|
"//third_party/dart:create_sdk",
|
|
"//third_party/dart/pkg:pkg_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp",
|
|
]
|
|
|
|
inputs = [ "sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
|
|
|
|
packages = dart_sdk_package_config
|
|
|
|
script = "//third_party/dart/pkg/dev_compiler/bin/dartdevc.dart"
|
|
|
|
outputs = [
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-canvaskit/dart_sdk.js",
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-canvaskit/dart_sdk.js.map",
|
|
]
|
|
|
|
args = [
|
|
"--enable-experiment=non-nullable",
|
|
"--compile-sdk",
|
|
"dart:core",
|
|
|
|
# Additional Flutter web dart libraries
|
|
"dart:ui",
|
|
"dart:_engine",
|
|
"--no-summarize",
|
|
"--packages",
|
|
"file:///" + rebase_path(dart_sdk_package_config),
|
|
"--multi-root-scheme",
|
|
"org-dartlang-sdk",
|
|
"--multi-root",
|
|
"file:///" + rebase_path("$root_out_dir"),
|
|
"--multi-root-output-path",
|
|
rebase_path("$root_out_dir/"),
|
|
"--libraries-file",
|
|
"org-dartlang-sdk:///flutter_web_sdk/libraries.json",
|
|
"--inline-source-map",
|
|
"-DFLUTTER_WEB_USE_SKIA=true",
|
|
"--modules",
|
|
"amd",
|
|
"-o",
|
|
rebase_path(
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-canvaskit/dart_sdk.js"),
|
|
"--modules",
|
|
"legacy",
|
|
"-o",
|
|
rebase_path(
|
|
"$root_out_dir/flutter_web_sdk/kernel/legacy-canvaskit/dart_sdk.js"),
|
|
]
|
|
}
|
|
|
|
# Compiles the DDC CanvasKit SDK's JS code for null safety.
|
|
prebuilt_dart_action("flutter_dartdevc_canvaskit_kernel_sdk_sound") {
|
|
deps = [
|
|
"//third_party/dart:create_sdk",
|
|
"//third_party/dart/pkg:pkg_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp",
|
|
]
|
|
|
|
inputs = [ "sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
|
|
|
|
packages = dart_sdk_package_config
|
|
|
|
script = "//third_party/dart/pkg/dev_compiler/bin/dartdevc.dart"
|
|
|
|
outputs = [
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js",
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js.map",
|
|
]
|
|
|
|
args = [
|
|
"--enable-experiment=non-nullable",
|
|
"--sound-null-safety",
|
|
"--compile-sdk",
|
|
"dart:core",
|
|
|
|
# Additional Flutter web dart libraries
|
|
"dart:ui",
|
|
"dart:_engine",
|
|
"--no-summarize",
|
|
"--packages",
|
|
"file:///" + rebase_path(dart_sdk_package_config),
|
|
"--multi-root-scheme",
|
|
"org-dartlang-sdk",
|
|
"--multi-root",
|
|
"file:///" + rebase_path("$root_out_dir"),
|
|
"--multi-root-output-path",
|
|
rebase_path("$root_out_dir/"),
|
|
"--libraries-file",
|
|
"org-dartlang-sdk:///flutter_web_sdk/libraries.json",
|
|
"--inline-source-map",
|
|
"-DFLUTTER_WEB_USE_SKIA=true",
|
|
"--modules",
|
|
"amd",
|
|
"-o",
|
|
rebase_path(
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js"),
|
|
"--modules",
|
|
"legacy",
|
|
"-o",
|
|
rebase_path(
|
|
"$root_out_dir/flutter_web_sdk/kernel/legacy-canvaskit-sound/dart_sdk.js"),
|
|
]
|
|
}
|
|
|
|
# Compiles the DDC SDK's JS code for null safety.
|
|
prebuilt_dart_action("flutter_dartdevc_kernel_sdk_sound") {
|
|
deps = [
|
|
"//third_party/dart:create_sdk",
|
|
"//third_party/dart/pkg:pkg_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp",
|
|
]
|
|
|
|
inputs = [ "sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
|
|
|
|
packages = dart_sdk_package_config
|
|
|
|
script = "//third_party/dart/pkg/dev_compiler/bin/dartdevc.dart"
|
|
|
|
outputs = [
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-sound/dart_sdk.js",
|
|
"$root_out_dir/flutter_web_sdk/kernel/amd-sound/dart_sdk.js.map",
|
|
]
|
|
|
|
args = [
|
|
"--enable-experiment=non-nullable",
|
|
"--sound-null-safety",
|
|
"--compile-sdk",
|
|
"dart:core",
|
|
|
|
# Additional Flutter web dart libraries
|
|
"dart:ui",
|
|
"dart:_engine",
|
|
"--no-summarize",
|
|
"--packages",
|
|
"file:///" + rebase_path(dart_sdk_package_config),
|
|
"--multi-root-scheme",
|
|
"org-dartlang-sdk",
|
|
"--multi-root",
|
|
"file:///" + rebase_path("$root_out_dir"),
|
|
"--multi-root-output-path",
|
|
rebase_path("$root_out_dir/"),
|
|
"--libraries-file",
|
|
"org-dartlang-sdk:///flutter_web_sdk/libraries.json",
|
|
"--inline-source-map",
|
|
"--modules",
|
|
"amd",
|
|
"-o",
|
|
rebase_path("$root_out_dir/flutter_web_sdk/kernel/amd-sound/dart_sdk.js"),
|
|
"--modules",
|
|
"legacy",
|
|
"-o",
|
|
rebase_path(
|
|
"$root_out_dir/flutter_web_sdk/kernel/legacy-sound/dart_sdk.js"),
|
|
]
|
|
}
|
|
|
|
# Compile the DDC SDK's summary.
|
|
prebuilt_dart_action("flutter_dartdevc_kernel_sdk_outline_sound") {
|
|
deps = [
|
|
"//third_party/dart:create_sdk",
|
|
"//third_party/dart/pkg:pkg_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_files_stamp",
|
|
"//third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp",
|
|
]
|
|
|
|
inputs = [ "sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
|
|
|
|
outputs = [ sdk_dill_sound ]
|
|
|
|
script = "//third_party/dart/utils/bazel/kernel_worker.dart"
|
|
|
|
args = [
|
|
"--enable-experiment=non-nullable",
|
|
"--sound-null-safety ",
|
|
"--summary-only",
|
|
"--target",
|
|
"ddc",
|
|
"--packages-file",
|
|
"file:///" + rebase_path(dart_sdk_package_config),
|
|
"--multi-root-scheme",
|
|
"org-dartlang-sdk",
|
|
"--multi-root",
|
|
"file:///" + rebase_path("$root_out_dir"),
|
|
"--libraries-file",
|
|
"org-dartlang-sdk:///flutter_web_sdk/libraries.json",
|
|
"--output",
|
|
rebase_path(sdk_dill_sound),
|
|
"--source",
|
|
"dart:core",
|
|
|
|
# Additional Flutter web dart libraries
|
|
"--source",
|
|
"dart:ui",
|
|
"--source",
|
|
"dart:_engine",
|
|
]
|
|
}
|