未验证 提交 5edd787c 编写于 作者: K Kaushik Iska 提交者: GitHub

[fuchsia] Push CMX to fars and add product mode support (#10144)

* Capture stderr for ninja command

* br

* [fuchsia] Push CMX to fars and add product mode support.

* fix shit

* fix GN format
上级 70c8c3fe
......@@ -17,9 +17,16 @@ declare_args() {
group("flutter") {
testonly = true
public_deps = [
public_deps = []
if (!(is_fuchsia && using_fuchsia_sdk)) {
public_deps += [
"$flutter_root/lib/snapshot:generate_snapshot_bin",
"$flutter_root/lib/snapshot:kernel_platform_files",
]
}
public_deps += [
"$flutter_root/shell/platform/embedder:flutter_engine",
"$flutter_root/sky",
]
......
......@@ -5,7 +5,7 @@
# Note: if you edit this file, you must also edit libraries.json in this
# directory:
#
#. python third_party/dart/tools/yaml2json.py flutter/lib/snapshot/libraries.yaml flutter/lib/snapshot/libraries.json
# python third_party/dart/tools/yaml2json.py flutter/lib/snapshot/libraries.yaml flutter/lib/snapshot/libraries.json
#
# We currently have several different files that needs to be updated when
# changing libraries, sources, and patch files. See
......
......@@ -28,14 +28,18 @@ source_set("test_font") {
group("libdart") {
public_deps = []
if (flutter_runtime_mode == "profile" || flutter_runtime_mode == "release") {
public_deps += [ "//third_party/dart/runtime:libdart_precompiled_runtime" ]
if (!(is_fuchsia && using_fuchsia_sdk)) {
if (flutter_runtime_mode == "profile" ||
flutter_runtime_mode == "release") {
public_deps +=
[ "//third_party/dart/runtime:libdart_precompiled_runtime" ]
} else {
public_deps += [
"$flutter_root/lib/snapshot",
"//third_party/dart/runtime:libdart_jit",
]
}
}
}
source_set("runtime") {
......
......@@ -3,12 +3,21 @@
# found in the LICENSE file.
import("//build/fuchsia/sdk.gni")
import("$flutter_root/common/config.gni")
if (using_fuchsia_sdk) {
product_suffix = ""
if (flutter_runtime_mode == "release") {
product_suffix = "product_"
}
flutter_runner_target = "flutter_jit_${product_suffix}runner"
group("fuchsia") {
deps = [
"dart",
"flutter:flutter_jit_runner",
# "dart",
"flutter:$flutter_runner_target",
]
}
}
......@@ -30,6 +30,7 @@ shell_gpu_configuration("fuchsia_gpu_configuration") {
template("flutter_runner") {
assert(defined(invoker.output_name), "flutter_runner must define output_name")
assert(defined(invoker.extra_deps), "flutter_runner must define extra_deps")
assert(defined(invoker.product), "flutter_runner must define product")
invoker_output_name = invoker.output_name
extra_deps = invoker.extra_deps
......@@ -128,6 +129,12 @@ template("flutter_runner") {
# The flags below are needed so that Dart's CPU profiler can walk the
# C++ stack.
cflags = [ "-fno-omit-frame-pointer" ]
if (!invoker.product) {
# This flag is needed so that the call to dladdr() in Dart's native symbol
# resolver can report good symbol information for the CPU profiler.
ldflags = [ "-rdynamic" ]
}
}
}
......@@ -141,25 +148,50 @@ template("flutter_runner") {
# 7. framework and product!! (_framework snapshots and dilp files.)
# 8. CMX files are also ignored.
flutter_runner("jit_product") {
output_name = "flutter_jit_product_runner"
product = true
extra_defines = [ "DART_PRODUCT" ]
extra_deps = [
"//third_party/dart/runtime:libdart_jit_product",
"//third_party/dart/runtime/platform:libdart_platform_jit_product",
]
}
flutter_runner("jit") {
output_name = "flutter_jit_runner"
product = false
extra_deps = [ "$flutter_root/runtime:libdart" ]
extra_deps = [
"//third_party/dart/runtime:libdart_jit",
"//third_party/dart/runtime/platform:libdart_platform_jit",
]
}
observatory_target =
"//third_party/dart/runtime/observatory:observatory_archive"
observatory_archive_dir = get_label_info(observatory_target, "target_gen_dir")
observatory_archive_name = get_label_info(observatory_target, "name")
observatory_archive_file =
"${observatory_archive_dir}/${observatory_archive_name}.tar"
template("jit_runner") {
product = defined(invoker.product) && invoker.product
product_suffix = ""
if (defined(invoker.product) && invoker.product) {
product_suffix = "product"
if (product) {
product_suffix = "_product"
}
package_dir(target_name) {
snapshot_gen_dir = "$root_build_dir/gen/flutter/lib/snapshot"
snapshot_gen_dir =
"$root_build_dir/gen/flutter/shell/platform/fuchsia/flutter/kernel"
deps = [
":jit${product_suffix}",
"$flutter_root/lib/snapshot:generate_snapshot_bin",
"kernel:kernel_core_snapshot${product_suffix}",
]
binary = "flutter_jit${product_suffix}_runner"
......@@ -268,3 +300,7 @@ template("jit_runner") {
jit_runner("flutter_jit_runner") {
product = false
}
jit_runner("flutter_jit_product_runner") {
product = true
}
......@@ -2,19 +2,17 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/dart/dart_tool.gni")
import("//build/host.gni")
import("//build/compiled_action.gni")
import("//build/fuchsia/sdk.gni")
import("//third_party/dart/utils/compile_platform.gni")
import("//topaz/runtime/dart/dart_component.gni")
import("//topaz/runtime/dart/dart_kernel.gni")
import("//topaz/runtime/flutter_runner/prebuilt_framework.gni")
import("$flutter_root/common/config.gni")
import("$flutter_root/tools/fuchsia/dart.gni")
compile_platform("kernel_platform_files") {
single_root_scheme = "org-dartlang-sdk"
single_root_base = rebase_path("../../../../")
single_root_base = rebase_path("../../../../../../")
libraries_specification_uri =
"org-dartlang-sdk:///topaz/runtime/flutter_runner/kernel/libraries.json"
libraries_specification_uri = "org-dartlang-sdk:///flutter/shell/platform/fuchsia/flutter/kernel/libraries.json"
outputs = [
"$root_out_dir/flutter_runner_patched_sdk/platform_strong.dill",
......@@ -30,42 +28,25 @@ compile_platform("kernel_platform_files") {
]
}
dart_kernel("framework_shim") {
platform_name = "flutter_runner"
platform_deps =
[ "//topaz/runtime/flutter_runner/kernel:kernel_platform_files" ]
platform_path = "$root_out_dir/flutter_runner_patched_sdk"
disable_analysis = true
gen_bytecode = true
args = []
main_dart = "framework_shim.dart"
deps = [
"//third_party/dart-pkg/git/flutter/packages/flutter",
]
manifest = "$target_gen_dir/framework_shim.dilpmanifest"
}
template("core_snapshot") {
assert(defined(invoker.product),
"core_snapshot requires 'product' to be defined")
assert(defined(invoker.framework),
"core_snapshot requires 'framework' to be defined")
suffix = ""
if (invoker.product) {
suffix = "${suffix}_product"
}
if (invoker.framework) {
suffix = "${suffix}_framework"
}
action(target_name) {
deps = gen_snapshot_deps + [ ":kernel_platform_files" ]
compiled_action(target_name) {
deps = [
":kernel_platform_files",
]
platform_dill =
"$root_out_dir/flutter_runner_patched_sdk/platform_strong.dill"
compilation_trace = "//topaz/runtime/flutter_runner/compilation_trace.txt"
compilation_trace =
"$flutter_root/shell/platform/fuchsia/flutter/compilation_trace.txt"
inputs = [
platform_dill,
compilation_trace,
......@@ -86,11 +67,13 @@ template("core_snapshot") {
snapshot_profile,
]
gen_snapshot_to_use = gen_snapshot
if (invoker.product) {
script = gen_snapshot_product
} else {
script = gen_snapshot
gen_snapshot_to_use = gen_snapshot_product
}
tool = gen_snapshot_to_use
args = [
# TODO(FL-117): Re-enable causal async stack traces when this issue is
# addressed.
......@@ -115,95 +98,18 @@ template("core_snapshot") {
# No asserts in debug or release product.
# No asserts in release with flutter_profile=true (non-product)
# Yes asserts in non-product debug.
if (!invoker.product && (!flutter_profile || is_debug)) {
if (!invoker.product &&
(is_debug || !(flutter_runtime_mode == "profile"))) {
args += [ "--enable_asserts" ]
}
args += [ rebase_path(platform_dill) ]
if (invoker.framework) {
if (prebuilt_framework_path == "") {
deps += [ ":framework_shim_kernel" ]
inputs += [ "$target_gen_dir/framework_shim_kernel.dil" ]
args += [ rebase_path("$target_gen_dir/framework_shim_kernel.dil") ]
} else {
deps += [ ":extract_prebuilt_framework" ]
foreach(package, framework_packages) {
args += [ rebase_path(
"$target_gen_dir/data/$prebuilt_framework_name/$package.dilp") ]
inputs +=
[ "$target_gen_dir/data/$prebuilt_framework_name/$package.dilp" ]
}
}
}
}
}
core_snapshot("kernel_core_snapshot") {
product = false
framework = false
}
core_snapshot("kernel_core_snapshot_framework") {
product = false
framework = true
}
core_snapshot("kernel_core_snapshot_product") {
product = true
framework = false
}
core_snapshot("kernel_core_snapshot_product_framework") {
product = true
framework = true
}
dart_tool("extract_far") {
main_dart = "extract_far.dart"
force_prebuilt_dart = true
disable_analysis = true
source_dir = "."
sources = [
"extract_far.dart",
]
deps = [
"//third_party/dart-pkg/pub/args",
]
}
if (prebuilt_framework_path != "") {
action("extract_prebuilt_framework") {
deps = [
":extract_far",
"//garnet/bin/far:host",
]
inputs = [
prebuilt_framework_path,
]
script = get_label_info(":extract_far", "root_out_dir") +
"/dart-tools/extract_far"
args = [
"--far-tool",
rebase_path("$host_tools_dir/far"),
"--archive",
rebase_path(prebuilt_framework_path),
"--out-dir",
rebase_path(target_gen_dir),
]
outputs = []
foreach(package, framework_packages) {
args += [ "data/$prebuilt_framework_name/$package.dilp" ]
outputs +=
[ "$target_gen_dir/data/$prebuilt_framework_name/$package.dilp" ]
}
args += [ "data/$prebuilt_framework_name/app.frameworkversion" ]
outputs +=
[ "$target_gen_dir/data/$prebuilt_framework_name/app.frameworkversion" ]
}
}
{
"comment:0": "NOTE: THIS FILE IS GENERATED. DO NOT EDIT.",
"comment:1": "Instead modify 'topaz/runtime/flutter_runner/kernel/libraries.yaml' and follow the instructions therein.",
"comment:1": "Instead modify 'kernel/libraries.yaml' and follow the instructions therein.",
"flutter_runner": {
"libraries": {
"_builtin": {
"uri": "../../../../third_party/dart/runtime/bin/builtin.dart"
"uri": "../../../../../../third_party/dart/runtime/bin/builtin.dart"
},
"core": {
"patches": [
"../../../../third_party/dart/runtime/lib/core_patch.dart",
"../../../../third_party/dart/runtime/lib/array.dart",
"../../../../third_party/dart/runtime/lib/array_patch.dart",
"../../../../third_party/dart/runtime/lib/bigint_patch.dart",
"../../../../third_party/dart/runtime/lib/bool_patch.dart",
"../../../../third_party/dart/runtime/lib/date_patch.dart",
"../../../../third_party/dart/runtime/lib/double.dart",
"../../../../third_party/dart/runtime/lib/double_patch.dart",
"../../../../third_party/dart/runtime/lib/errors_patch.dart",
"../../../../third_party/dart/runtime/lib/expando_patch.dart",
"../../../../third_party/dart/runtime/lib/function.dart",
"../../../../third_party/dart/runtime/lib/function_patch.dart",
"../../../../third_party/dart/runtime/lib/growable_array.dart",
"../../../../third_party/dart/runtime/lib/identical_patch.dart",
"../../../../third_party/dart/runtime/lib/immutable_map.dart",
"../../../../third_party/dart/runtime/lib/integers.dart",
"../../../../third_party/dart/runtime/lib/integers_patch.dart",
"../../../../third_party/dart/runtime/lib/invocation_mirror_patch.dart",
"../../../../third_party/dart/runtime/lib/lib_prefix.dart",
"../../../../third_party/dart/runtime/lib/map_patch.dart",
"../../../../third_party/dart/runtime/lib/null_patch.dart",
"../../../../third_party/dart/runtime/lib/object_patch.dart",
"../../../../third_party/dart/runtime/lib/regexp_patch.dart",
"../../../../third_party/dart/runtime/lib/stacktrace.dart",
"../../../../third_party/dart/runtime/lib/stopwatch_patch.dart",
"../../../../third_party/dart/runtime/lib/string_buffer_patch.dart",
"../../../../third_party/dart/runtime/lib/string_patch.dart",
"../../../../third_party/dart/runtime/lib/type_patch.dart",
"../../../../third_party/dart/runtime/lib/uri_patch.dart",
"../../../../third_party/dart/runtime/lib/weak_property.dart"
"../../../../../../third_party/dart/runtime/lib/core_patch.dart",
"../../../../../../third_party/dart/runtime/lib/array.dart",
"../../../../../../third_party/dart/runtime/lib/array_patch.dart",
"../../../../../../third_party/dart/runtime/lib/bigint_patch.dart",
"../../../../../../third_party/dart/runtime/lib/bool_patch.dart",
"../../../../../../third_party/dart/runtime/lib/date_patch.dart",
"../../../../../../third_party/dart/runtime/lib/double.dart",
"../../../../../../third_party/dart/runtime/lib/double_patch.dart",
"../../../../../../third_party/dart/runtime/lib/errors_patch.dart",
"../../../../../../third_party/dart/runtime/lib/expando_patch.dart",
"../../../../../../third_party/dart/runtime/lib/function.dart",
"../../../../../../third_party/dart/runtime/lib/function_patch.dart",
"../../../../../../third_party/dart/runtime/lib/growable_array.dart",
"../../../../../../third_party/dart/runtime/lib/identical_patch.dart",
"../../../../../../third_party/dart/runtime/lib/immutable_map.dart",
"../../../../../../third_party/dart/runtime/lib/integers.dart",
"../../../../../../third_party/dart/runtime/lib/integers_patch.dart",
"../../../../../../third_party/dart/runtime/lib/invocation_mirror_patch.dart",
"../../../../../../third_party/dart/runtime/lib/lib_prefix.dart",
"../../../../../../third_party/dart/runtime/lib/map_patch.dart",
"../../../../../../third_party/dart/runtime/lib/null_patch.dart",
"../../../../../../third_party/dart/runtime/lib/object_patch.dart",
"../../../../../../third_party/dart/runtime/lib/regexp_patch.dart",
"../../../../../../third_party/dart/runtime/lib/stacktrace.dart",
"../../../../../../third_party/dart/runtime/lib/stopwatch_patch.dart",
"../../../../../../third_party/dart/runtime/lib/string_buffer_patch.dart",
"../../../../../../third_party/dart/runtime/lib/string_patch.dart",
"../../../../../../third_party/dart/runtime/lib/type_patch.dart",
"../../../../../../third_party/dart/runtime/lib/uri_patch.dart",
"../../../../../../third_party/dart/runtime/lib/weak_property.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/core/core.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/core/core.dart"
},
"zircon": {
"uri": "../../../../topaz/public/dart-pkg/zircon/lib/zircon.dart"
"uri": "../../../../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/zircon.dart"
},
"async": {
"patches": [
"../../../../third_party/dart/runtime/lib/async_patch.dart",
"../../../../third_party/dart/runtime/lib/deferred_load_patch.dart",
"../../../../third_party/dart/runtime/lib/schedule_microtask_patch.dart",
"../../../../third_party/dart/runtime/lib/timer_patch.dart"
"../../../../../../third_party/dart/runtime/lib/async_patch.dart",
"../../../../../../third_party/dart/runtime/lib/deferred_load_patch.dart",
"../../../../../../third_party/dart/runtime/lib/schedule_microtask_patch.dart",
"../../../../../../third_party/dart/runtime/lib/timer_patch.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/async/async.dart"
},
"mozart.internal": {
"uri": "../../../../topaz/public/lib/ui/flutter/sdk_ext/mozart.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/async/async.dart"
},
"collection": {
"patches": [
"../../../../third_party/dart/runtime/lib/collection_patch.dart",
"../../../../third_party/dart/runtime/lib/compact_hash.dart"
"../../../../../../third_party/dart/runtime/lib/collection_patch.dart",
"../../../../../../third_party/dart/runtime/lib/compact_hash.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/collection/collection.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/collection/collection.dart"
},
"ffi": {
"patches": [
"../../../../third_party/dart/runtime/lib/ffi_dynamic_library_patch.dart",
"../../../../third_party/dart/runtime/lib/ffi_native_type_patch.dart",
"../../../../third_party/dart/runtime/lib/ffi_patch.dart"
"../../../../../../third_party/dart/runtime/lib/ffi_dynamic_library_patch.dart",
"../../../../../../third_party/dart/runtime/lib/ffi_native_type_patch.dart",
"../../../../../../third_party/dart/runtime/lib/ffi_patch.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/ffi/ffi.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/ffi/ffi.dart"
},
"typed_data": {
"patches": "../../../../third_party/dart/runtime/lib/typed_data_patch.dart",
"uri": "../../../../third_party/dart/sdk/lib/typed_data/typed_data.dart"
"patches": "../../../../../../third_party/dart/runtime/lib/typed_data_patch.dart",
"uri": "../../../../../../third_party/dart/sdk/lib/typed_data/typed_data.dart"
},
"nativewrappers": {
"uri": "../../../../third_party/dart/sdk/lib/html/dartium/nativewrappers.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/html/dartium/nativewrappers.dart"
},
"developer": {
"patches": [
"../../../../third_party/dart/runtime/lib/developer.dart",
"../../../../third_party/dart/runtime/lib/profiler.dart",
"../../../../third_party/dart/runtime/lib/timeline.dart"
"../../../../../../third_party/dart/runtime/lib/developer.dart",
"../../../../../../third_party/dart/runtime/lib/profiler.dart",
"../../../../../../third_party/dart/runtime/lib/timeline.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/developer/developer.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/developer/developer.dart"
},
"isolate": {
"patches": [
"../../../../third_party/dart/runtime/lib/isolate_patch.dart",
"../../../../third_party/dart/runtime/lib/timer_impl.dart"
"../../../../../../third_party/dart/runtime/lib/isolate_patch.dart",
"../../../../../../third_party/dart/runtime/lib/timer_impl.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/isolate/isolate.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/isolate/isolate.dart"
},
"mirrors": {
"patches": [
"../../../../third_party/dart/runtime/lib/mirrors_patch.dart",
"../../../../third_party/dart/runtime/lib/mirrors_impl.dart",
"../../../../third_party/dart/runtime/lib/mirror_reference.dart"
"../../../../../../third_party/dart/runtime/lib/mirrors_patch.dart",
"../../../../../../third_party/dart/runtime/lib/mirrors_impl.dart",
"../../../../../../third_party/dart/runtime/lib/mirror_reference.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/mirrors/mirrors.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/mirrors/mirrors.dart"
},
"_vmservice": {
"uri": "../../../../third_party/dart/sdk/lib/vmservice/vmservice.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/vmservice/vmservice.dart"
},
"io": {
"patches": [
"../../../../third_party/dart/runtime/bin/common_patch.dart",
"../../../../third_party/dart/runtime/bin/directory_patch.dart",
"../../../../third_party/dart/runtime/bin/eventhandler_patch.dart",
"../../../../third_party/dart/runtime/bin/file_patch.dart",
"../../../../third_party/dart/runtime/bin/file_system_entity_patch.dart",
"../../../../third_party/dart/runtime/bin/filter_patch.dart",
"../../../../third_party/dart/runtime/bin/io_service_patch.dart",
"../../../../third_party/dart/runtime/bin/namespace_patch.dart",
"../../../../third_party/dart/runtime/bin/platform_patch.dart",
"../../../../third_party/dart/runtime/bin/process_patch.dart",
"../../../../third_party/dart/runtime/bin/socket_patch.dart",
"../../../../third_party/dart/runtime/bin/stdio_patch.dart",
"../../../../third_party/dart/runtime/bin/secure_socket_patch.dart",
"../../../../third_party/dart/runtime/bin/sync_socket_patch.dart"
"../../../../../../third_party/dart/runtime/bin/common_patch.dart",
"../../../../../../third_party/dart/runtime/bin/directory_patch.dart",
"../../../../../../third_party/dart/runtime/bin/eventhandler_patch.dart",
"../../../../../../third_party/dart/runtime/bin/file_patch.dart",
"../../../../../../third_party/dart/runtime/bin/file_system_entity_patch.dart",
"../../../../../../third_party/dart/runtime/bin/filter_patch.dart",
"../../../../../../third_party/dart/runtime/bin/io_service_patch.dart",
"../../../../../../third_party/dart/runtime/bin/namespace_patch.dart",
"../../../../../../third_party/dart/runtime/bin/platform_patch.dart",
"../../../../../../third_party/dart/runtime/bin/process_patch.dart",
"../../../../../../third_party/dart/runtime/bin/socket_patch.dart",
"../../../../../../third_party/dart/runtime/bin/stdio_patch.dart",
"../../../../../../third_party/dart/runtime/bin/secure_socket_patch.dart",
"../../../../../../third_party/dart/runtime/bin/sync_socket_patch.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/io/io.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/io/io.dart"
},
"_internal": {
"patches": [
"../../../../third_party/dart/runtime/lib/internal_patch.dart",
"../../../../third_party/dart/runtime/lib/class_id_fasta.dart",
"../../../../third_party/dart/runtime/lib/print_patch.dart",
"../../../../third_party/dart/runtime/lib/symbol_patch.dart",
"../../../../third_party/dart/sdk/lib/internal/patch.dart"
"../../../../../../third_party/dart/runtime/lib/internal_patch.dart",
"../../../../../../third_party/dart/runtime/lib/class_id_fasta.dart",
"../../../../../../third_party/dart/runtime/lib/print_patch.dart",
"../../../../../../third_party/dart/runtime/lib/symbol_patch.dart",
"../../../../../../third_party/dart/sdk/lib/internal/patch.dart"
],
"uri": "../../../../third_party/dart/sdk/lib/internal/internal.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/internal/internal.dart"
},
"convert": {
"patches": "../../../../third_party/dart/runtime/lib/convert_patch.dart",
"uri": "../../../../third_party/dart/sdk/lib/convert/convert.dart"
"patches": "../../../../../../third_party/dart/runtime/lib/convert_patch.dart",
"uri": "../../../../../../third_party/dart/sdk/lib/convert/convert.dart"
},
"profiler": {
"uri": "../../../../third_party/dart/sdk/lib/profiler/profiler.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/profiler/profiler.dart"
},
"math": {
"patches": "../../../../third_party/dart/runtime/lib/math_patch.dart",
"uri": "../../../../third_party/dart/sdk/lib/math/math.dart"
"patches": "../../../../../../third_party/dart/runtime/lib/math_patch.dart",
"uri": "../../../../../../third_party/dart/sdk/lib/math/math.dart"
},
"_http": {
"uri": "../../../../third_party/dart/sdk/lib/_http/http.dart"
"uri": "../../../../../../third_party/dart/sdk/lib/_http/http.dart"
},
"fuchsia": {
"uri": "../../../../topaz/public/dart-pkg/fuchsia/lib/fuchsia.dart"
"uri": "../../../../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/lib/fuchsia.dart"
},
"fuchsia.builtin": {
"uri": "../../../../topaz/runtime/dart_runner/embedder/builtin.dart"
"uri": "../../../../../../flutter/shell/platform/fuchsia/dart/embedder/builtin.dart"
},
"ui": {
"uri": "../../../../third_party/flutter/lib/ui/ui.dart"
"uri": "../../../../../../flutter/lib/ui/ui.dart"
},
"vmservice_io": {
"uri": "../../../../third_party/dart/runtime/bin/vmservice/vmservice_io.dart"
"uri": "../../../../../../third_party/dart/runtime/bin/vmservice/vmservice_io.dart"
}
}
}
......
# Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
# Copyright (c) 2017, 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.
# Note: if you edit this file, you must also edit libraries.json in this
# directory:
#
# python third_party/dart/tools/yaml2json.py \
# topaz/runtime/flutter_runner/kernel/libraries.yaml \
# topaz/runtime/flutter_runner/kernel/libraries.json
# python third_party/dart/tools/yaml2json.py <path_to>/libraries.yaml <same_path>/libraries.json
#
# We currently have several different files that needs to be updated when
# changing libraries, sources, and patch files. See
......@@ -16,148 +14,145 @@
flutter_runner:
libraries:
_builtin:
uri: "../../../../third_party/dart/runtime/bin/builtin.dart"
uri: "../../../../../../third_party/dart/runtime/bin/builtin.dart"
_internal:
uri: "../../../../third_party/dart/sdk/lib/internal/internal.dart"
uri: "../../../../../../third_party/dart/sdk/lib/internal/internal.dart"
patches:
- "../../../../third_party/dart/runtime/lib/internal_patch.dart"
- "../../../../third_party/dart/runtime/lib/class_id_fasta.dart"
- "../../../../third_party/dart/runtime/lib/print_patch.dart"
- "../../../../third_party/dart/runtime/lib/symbol_patch.dart"
- "../../../../third_party/dart/sdk/lib/internal/patch.dart"
- "../../../../../../third_party/dart/runtime/lib/internal_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/class_id_fasta.dart"
- "../../../../../../third_party/dart/runtime/lib/print_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/symbol_patch.dart"
- "../../../../../../third_party/dart/sdk/lib/internal/patch.dart"
async:
uri: "../../../../third_party/dart/sdk/lib/async/async.dart"
uri: "../../../../../../third_party/dart/sdk/lib/async/async.dart"
patches:
- "../../../../third_party/dart/runtime/lib/async_patch.dart"
- "../../../../third_party/dart/runtime/lib/deferred_load_patch.dart"
- "../../../../third_party/dart/runtime/lib/schedule_microtask_patch.dart"
- "../../../../third_party/dart/runtime/lib/timer_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/async_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/deferred_load_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/schedule_microtask_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/timer_patch.dart"
collection:
uri: "../../../../third_party/dart/sdk/lib/collection/collection.dart"
uri: "../../../../../../third_party/dart/sdk/lib/collection/collection.dart"
patches:
- "../../../../third_party/dart/runtime/lib/collection_patch.dart"
- "../../../../third_party/dart/runtime/lib/compact_hash.dart"
- "../../../../../../third_party/dart/runtime/lib/collection_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/compact_hash.dart"
convert:
uri: "../../../../third_party/dart/sdk/lib/convert/convert.dart"
patches: "../../../../third_party/dart/runtime/lib/convert_patch.dart"
uri: "../../../../../../third_party/dart/sdk/lib/convert/convert.dart"
patches: "../../../../../../third_party/dart/runtime/lib/convert_patch.dart"
core:
uri: "../../../../third_party/dart/sdk/lib/core/core.dart"
uri: "../../../../../../third_party/dart/sdk/lib/core/core.dart"
patches:
- "../../../../third_party/dart/runtime/lib/core_patch.dart"
- "../../../../third_party/dart/runtime/lib/array.dart"
- "../../../../third_party/dart/runtime/lib/array_patch.dart"
- "../../../../third_party/dart/runtime/lib/bigint_patch.dart"
- "../../../../third_party/dart/runtime/lib/bool_patch.dart"
- "../../../../third_party/dart/runtime/lib/date_patch.dart"
- "../../../../third_party/dart/runtime/lib/double.dart"
- "../../../../third_party/dart/runtime/lib/double_patch.dart"
- "../../../../third_party/dart/runtime/lib/errors_patch.dart"
- "../../../../third_party/dart/runtime/lib/expando_patch.dart"
- "../../../../third_party/dart/runtime/lib/function.dart"
- "../../../../third_party/dart/runtime/lib/function_patch.dart"
- "../../../../third_party/dart/runtime/lib/growable_array.dart"
- "../../../../third_party/dart/runtime/lib/identical_patch.dart"
- "../../../../third_party/dart/runtime/lib/immutable_map.dart"
- "../../../../third_party/dart/runtime/lib/integers.dart"
- "../../../../third_party/dart/runtime/lib/integers_patch.dart"
- "../../../../third_party/dart/runtime/lib/invocation_mirror_patch.dart"
- "../../../../third_party/dart/runtime/lib/lib_prefix.dart"
- "../../../../third_party/dart/runtime/lib/map_patch.dart"
- "../../../../third_party/dart/runtime/lib/null_patch.dart"
- "../../../../third_party/dart/runtime/lib/object_patch.dart"
- "../../../../third_party/dart/runtime/lib/regexp_patch.dart"
- "../../../../third_party/dart/runtime/lib/stacktrace.dart"
- "../../../../third_party/dart/runtime/lib/stopwatch_patch.dart"
- "../../../../third_party/dart/runtime/lib/string_buffer_patch.dart"
- "../../../../third_party/dart/runtime/lib/string_patch.dart"
- "../../../../third_party/dart/runtime/lib/type_patch.dart"
- "../../../../third_party/dart/runtime/lib/uri_patch.dart"
- "../../../../third_party/dart/runtime/lib/weak_property.dart"
- "../../../../../../third_party/dart/runtime/lib/core_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/array.dart"
- "../../../../../../third_party/dart/runtime/lib/array_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/bigint_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/bool_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/date_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/double.dart"
- "../../../../../../third_party/dart/runtime/lib/double_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/errors_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/expando_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/function.dart"
- "../../../../../../third_party/dart/runtime/lib/function_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/growable_array.dart"
- "../../../../../../third_party/dart/runtime/lib/identical_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/immutable_map.dart"
- "../../../../../../third_party/dart/runtime/lib/integers.dart"
- "../../../../../../third_party/dart/runtime/lib/integers_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/invocation_mirror_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/lib_prefix.dart"
- "../../../../../../third_party/dart/runtime/lib/map_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/null_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/object_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/regexp_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/stacktrace.dart"
- "../../../../../../third_party/dart/runtime/lib/stopwatch_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/string_buffer_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/string_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/type_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/uri_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/weak_property.dart"
developer:
uri: "../../../../third_party/dart/sdk/lib/developer/developer.dart"
uri: "../../../../../../third_party/dart/sdk/lib/developer/developer.dart"
patches:
- "../../../../third_party/dart/runtime/lib/developer.dart"
- "../../../../third_party/dart/runtime/lib/profiler.dart"
- "../../../../third_party/dart/runtime/lib/timeline.dart"
- "../../../../../../third_party/dart/runtime/lib/developer.dart"
- "../../../../../../third_party/dart/runtime/lib/profiler.dart"
- "../../../../../../third_party/dart/runtime/lib/timeline.dart"
ffi:
uri: "../../../../third_party/dart/sdk/lib/ffi/ffi.dart"
uri: "../../../../../../third_party/dart/sdk/lib/ffi/ffi.dart"
patches:
- "../../../../third_party/dart/runtime/lib/ffi_dynamic_library_patch.dart"
- "../../../../third_party/dart/runtime/lib/ffi_native_type_patch.dart"
- "../../../../third_party/dart/runtime/lib/ffi_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/ffi_dynamic_library_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/ffi_native_type_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/ffi_patch.dart"
_http:
uri: "../../../../third_party/dart/sdk/lib/_http/http.dart"
uri: "../../../../../../third_party/dart/sdk/lib/_http/http.dart"
io:
uri: "../../../../third_party/dart/sdk/lib/io/io.dart"
uri: "../../../../../../third_party/dart/sdk/lib/io/io.dart"
patches:
- "../../../../third_party/dart/runtime/bin/common_patch.dart"
- "../../../../third_party/dart/runtime/bin/directory_patch.dart"
- "../../../../third_party/dart/runtime/bin/eventhandler_patch.dart"
- "../../../../third_party/dart/runtime/bin/file_patch.dart"
- "../../../../third_party/dart/runtime/bin/file_system_entity_patch.dart"
- "../../../../third_party/dart/runtime/bin/filter_patch.dart"
- "../../../../third_party/dart/runtime/bin/io_service_patch.dart"
- "../../../../third_party/dart/runtime/bin/namespace_patch.dart"
- "../../../../third_party/dart/runtime/bin/platform_patch.dart"
- "../../../../third_party/dart/runtime/bin/process_patch.dart"
- "../../../../third_party/dart/runtime/bin/socket_patch.dart"
- "../../../../third_party/dart/runtime/bin/stdio_patch.dart"
- "../../../../third_party/dart/runtime/bin/secure_socket_patch.dart"
- "../../../../third_party/dart/runtime/bin/sync_socket_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/common_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/directory_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/eventhandler_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/file_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/file_system_entity_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/filter_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/io_service_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/namespace_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/platform_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/process_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/socket_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/stdio_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/secure_socket_patch.dart"
- "../../../../../../third_party/dart/runtime/bin/sync_socket_patch.dart"
isolate:
uri: "../../../../third_party/dart/sdk/lib/isolate/isolate.dart"
uri: "../../../../../../third_party/dart/sdk/lib/isolate/isolate.dart"
patches:
- "../../../../third_party/dart/runtime/lib/isolate_patch.dart"
- "../../../../third_party/dart/runtime/lib/timer_impl.dart"
- "../../../../../../third_party/dart/runtime/lib/isolate_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/timer_impl.dart"
math:
uri: "../../../../third_party/dart/sdk/lib/math/math.dart"
patches: "../../../../third_party/dart/runtime/lib/math_patch.dart"
uri: "../../../../../../third_party/dart/sdk/lib/math/math.dart"
patches: "../../../../../../third_party/dart/runtime/lib/math_patch.dart"
mirrors:
uri: "../../../../third_party/dart/sdk/lib/mirrors/mirrors.dart"
uri: "../../../../../../third_party/dart/sdk/lib/mirrors/mirrors.dart"
patches:
- "../../../../third_party/dart/runtime/lib/mirrors_patch.dart"
- "../../../../third_party/dart/runtime/lib/mirrors_impl.dart"
- "../../../../third_party/dart/runtime/lib/mirror_reference.dart"
- "../../../../../../third_party/dart/runtime/lib/mirrors_patch.dart"
- "../../../../../../third_party/dart/runtime/lib/mirrors_impl.dart"
- "../../../../../../third_party/dart/runtime/lib/mirror_reference.dart"
nativewrappers:
uri: "../../../../third_party/dart/sdk/lib/html/dartium/nativewrappers.dart"
uri: "../../../../../../third_party/dart/sdk/lib/html/dartium/nativewrappers.dart"
profiler:
uri: "../../../../third_party/dart/sdk/lib/profiler/profiler.dart"
uri: "../../../../../../third_party/dart/sdk/lib/profiler/profiler.dart"
typed_data:
uri: "../../../../third_party/dart/sdk/lib/typed_data/typed_data.dart"
patches: "../../../../third_party/dart/runtime/lib/typed_data_patch.dart"
uri: "../../../../../../third_party/dart/sdk/lib/typed_data/typed_data.dart"
patches: "../../../../../../third_party/dart/runtime/lib/typed_data_patch.dart"
fuchsia.builtin:
uri: "../../../../topaz/runtime/dart_runner/embedder/builtin.dart"
uri: "../../../../../../flutter/shell/platform/fuchsia/dart/embedder/builtin.dart"
zircon:
uri: "../../../../topaz/public/dart-pkg/zircon/lib/zircon.dart"
uri: "../../../../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/zircon.dart"
fuchsia:
uri: "../../../../topaz/public/dart-pkg/fuchsia/lib/fuchsia.dart"
uri: "../../../../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/lib/fuchsia.dart"
ui:
uri: "../../../../third_party/flutter/lib/ui/ui.dart"
mozart.internal:
uri: "../../../../topaz/public/lib/ui/flutter/sdk_ext/mozart.dart"
uri: "../../../../../../flutter/lib/ui/ui.dart"
_vmservice:
uri: "../../../../third_party/dart/sdk/lib/vmservice/vmservice.dart"
uri: "../../../../../../third_party/dart/sdk/lib/vmservice/vmservice.dart"
vmservice_io:
uri: "../../../../third_party/dart/runtime/bin/vmservice/vmservice_io.dart"
uri: "../../../../../../third_party/dart/runtime/bin/vmservice/vmservice_io.dart"
......@@ -15,7 +15,7 @@ import subprocess
import sys
import tempfile
from gather_flutter_runner_artifacts import CreateMetaPackage
from gather_flutter_runner_artifacts import CreateMetaPackage, CopyPath
from gen_package import CreateFarPackage
_script_dir = os.path.abspath(os.path.join(os.path.realpath(__file__), '..'))
......@@ -75,14 +75,31 @@ def RemoveDirectoryIfExists(path):
shutil.rmtree(path)
def CopyToBucket(source, destination):
source = os.path.join(_out_dir, source, 'flutter_jit_runner_far')
def CopyFiles(source, destination):
try:
shutil.copytree(source, destination)
except OSError as error:
if error.errno == errno.ENOTDIR:
shutil.copy(source, destination)
else:
raise
def CopyToBucket(source, destination, product=False):
far_dir = 'flutter_jit_runner_far'
if product:
far_dir = 'flutter_jit_product_runner_far'
source_root = os.path.join(_out_dir, source)
source = os.path.join(source_root, far_dir)
CreateMetaPackage(source)
pm_bin = GetPMBinPath()
key_path = os.path.join(_script_dir, 'development.key')
destination = os.path.join(_bucket_directory, destination)
CreateFarPackage(pm_bin, source, key_path, destination)
patched_sdk_dir = os.path.join(source_root, 'flutter_runner_patched_sdk')
dest_sdk_path = os.path.join(destination, 'flutter_runner_patched_sdk')
CopyPath(patched_sdk_dir, dest_sdk_path)
def BuildBucket():
......@@ -90,17 +107,7 @@ def BuildBucket():
CopyToBucket('fuchsia_debug/', 'flutter/debug/')
CopyToBucket('fuchsia_profile/', 'flutter/profile/')
CopyToBucket('fuchsia_release/', 'flutter/release/')
def CopyFiles(source, destination):
try:
shutil.copytree(source, destination)
except OSError as error:
if error.errno == errno.ENOTDIR:
shutil.copy(source, destination)
else:
raise
CopyToBucket('fuchsia_release/', 'flutter/release/', True)
def ProcessCIPDPakcage(upload, engine_version):
......@@ -124,6 +131,21 @@ def ProcessCIPDPakcage(upload, engine_version):
subprocess.check_call(command, cwd=_bucket_directory)
def GetTargetsToBuild(product=False):
product_suffix = '_product'
if not product:
product_suffix = ''
targets_to_build = [
# The Flutter Runner.
'flutter/shell/platform/fuchsia/flutter:flutter_jit%s_runner' %
product_suffix,
# The Dart Runner.
# 'flutter/shell/platform/fuchsia/dart:dart',
]
return targets_to_build
def main():
parser = argparse.ArgumentParser()
......@@ -152,20 +174,9 @@ def main():
RunGN('fuchsia_release', common_flags + ['--runtime-mode', 'release'])
targets_to_build = [
# The Flutter Runner.
'flutter/shell/platform/fuchsia/flutter:flutter_jit_runner',
# The Dart Runner.
'flutter/shell/platform/fuchsia/dart:dart',
# The Snapshots.
'flutter/lib/snapshot:snapshot',
]
BuildNinjaTargets('fuchsia_debug', targets_to_build)
BuildNinjaTargets('fuchsia_profile', targets_to_build)
BuildNinjaTargets('fuchsia_release', targets_to_build)
BuildNinjaTargets('fuchsia_debug', GetTargetsToBuild())
BuildNinjaTargets('fuchsia_profile', GetTargetsToBuild())
BuildNinjaTargets('fuchsia_release', GetTargetsToBuild(True))
BuildBucket()
......
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
gen_snapshot = "//third_party/dart/runtime/bin:gen_snapshot"
gen_snapshot_product = "//third_party/dart/runtime/bin:gen_snapshot_product"
......@@ -53,7 +53,9 @@ template("package_dir") {
flutter_meta_dir = "$flutter_root/shell/platform/fuchsia/flutter/meta"
copy("copy_cmx") {
cmx_target = "$pkg_target_name.copy_cmx"
copy("$cmx_target") {
sources = [
"${flutter_meta_dir}/${pkg_target_name}.cmx",
]
......@@ -65,7 +67,7 @@ template("package_dir") {
action(target_name) {
script = "$flutter_root/tools/fuchsia/copy_path.py"
response_file_contents = rebase_path(copy_sources + copy_outputs)
deps = pkg.deps + [ ":copy_cmx" ]
deps = pkg.deps + [ ":$cmx_target" ]
args = [ "--file-list={{response_file_name}}" ]
outputs = copy_outputs
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册