Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
3e3efe4c
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
3e3efe4c
编写于
7月 26, 2019
作者:
K
Kaushik Iska
提交者:
GitHub
7月 26, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[dart_runner] dart jit runner and dart jit product runner (#10179)
We now build dart runner as well
上级
4b587a6c
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
180 addition
and
53 deletion
+180
-53
common/fuchsia_config.gni
common/fuchsia_config.gni
+12
-0
shell/platform/fuchsia/BUILD.gn
shell/platform/fuchsia/BUILD.gn
+2
-1
shell/platform/fuchsia/dart_runner/BUILD.gn
shell/platform/fuchsia/dart_runner/BUILD.gn
+134
-31
shell/platform/fuchsia/flutter/BUILD.gn
shell/platform/fuchsia/flutter/BUILD.gn
+5
-7
tools/fuchsia/build_fuchsia_artifacts.py
tools/fuchsia/build_fuchsia_artifacts.py
+16
-12
tools/fuchsia/dart.gni
tools/fuchsia/dart.gni
+7
-0
tools/fuchsia/package_dir.gni
tools/fuchsia/package_dir.gni
+4
-2
未找到文件。
common/fuchsia_config.gni
0 → 100644
浏览文件 @
3e3efe4c
# 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("config.gni")
if (is_fuchsia && using_fuchsia_sdk) {
dart_tools_root = "//flutter/tools/fuchsia/dart"
fuchsia_base = "//flutter/shell/platform/fuchsia"
flutter_runner_base = "$fuchsia_base/flutter/"
dart_runner_base = "$fuchsia_base/dart_runner/"
}
shell/platform/fuchsia/BUILD.gn
浏览文件 @
3e3efe4c
...
...
@@ -13,10 +13,11 @@ if (using_fuchsia_sdk) {
}
flutter_runner_target = "flutter_jit_${product_suffix}runner"
dart_runner_target = "dart_jit_${product_suffix}runner"
group("fuchsia") {
deps = [
# "dar
t",
"dart_runner:$dart_runner_targe
t",
"flutter:$flutter_runner_target",
]
}
...
...
shell/platform/fuchsia/dart_runner/BUILD.gn
浏览文件 @
3e3efe4c
...
...
@@ -5,25 +5,22 @@
assert(is_fuchsia)
import("//build/fuchsia/sdk.gni")
import("$flutter_root/common/fuchsia_config.gni")
import("$flutter_root/tools/fuchsia/common_libs.gni")
import("$flutter_root/tools/fuchsia/dart.gni")
import("$flutter_root/tools/fuchsia/package_dir.gni")
if (using_fuchsia_sdk) {
import("//flutter/common/config.gni")
template("runner") {
assert(defined(invoker.product), "The parameter 'product' must be defined")
assert(defined(invoker.output_name),
"The parameter 'output_name' must be defined")
group("dart_io_api") {
visibility = [ ":*" ]
public_deps = []
invoker_output_name = invoker.output_name
extra_defines = invoker.extra_defines
extra_deps = invoker.extra_deps
if (flutter_runtime_mode == "debug") {
public_deps += [ "//third_party/dart/runtime/bin:dart_io_api" ]
} else {
public_deps += [ "//third_party/dart/runtime/bin:dart_io_api_product" ]
}
}
executable("dart") {
output_name = "dart_runner"
public = []
executable(target_name) {
output_name = invoker_output_name
sources = [
"builtin_libraries.cc",
...
...
@@ -40,22 +37,128 @@ if (using_fuchsia_sdk) {
"service_isolate.h",
]
defines = extra_defines
dart_deps = []
if (!invoker.product) {
dart_deps += [ "//third_party/dart/runtime/bin:dart_io_api" ]
} else {
dart_deps += [ "//third_party/dart/runtime/bin:dart_io_api_product" ]
}
deps = [
"$flutter_root/common",
"$flutter_root/fml",
"$flutter_root/runtime:libdart",
"$flutter_root/shell/platform/fuchsia/dart-pkg/fuchsia",
"$flutter_root/shell/platform/fuchsia/dart-pkg/zircon",
"$flutter_root/shell/platform/fuchsia/runtime/dart/utils",
"$fuchsia_sdk_root/pkg:async-cpp",
"$fuchsia_sdk_root/pkg:async-loop",
"$fuchsia_sdk_root/pkg:async-loop-cpp",
"$fuchsia_sdk_root/pkg:fidl_cpp",
"$fuchsia_sdk_root/pkg:syslog",
"$fuchsia_sdk_root/pkg/lib/sys/cpp",
"$fuchsia_sdk_root/pkg/lib/vfs/cpp",
"//third_party/tonic",
] + dart_deps + extra_deps
}
}
runner("dart_jit_runner_bin") {
output_name = "dart_jit_runner"
product = false
extra_defines = []
if (flutter_runtime_mode == "profile") {
extra_defines += [ "FLUTTER_PROFILE" ]
}
extra_deps = [
"//third_party/dart/runtime:libdart_jit",
"//third_party/dart/runtime/platform:libdart_platform_jit",
]
}
runner("dart_jit_product_runner_bin") {
output_name = "dart_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",
]
}
template("jit_runner_package") {
assert(defined(invoker.product), "The parameter 'product' must be defined")
product_suffix = ""
if (invoker.product) {
product_suffix = "_product"
}
package_dir(target_name) {
deps = [
":dart_io_api",
"$flutter_root/common",
"$flutter_root/fml",
"$flutter_root/runtime:libdart",
"$flutter_root/shell/platform/fuchsia/dart-pkg/fuchsia",
"$flutter_root/shell/platform/fuchsia/dart-pkg/zircon",
"$flutter_root/shell/platform/fuchsia/runtime/dart/utils",
"$fuchsia_sdk_root/pkg:async-cpp",
"$fuchsia_sdk_root/pkg:async-loop",
"$fuchsia_sdk_root/pkg:async-loop-cpp",
"$fuchsia_sdk_root/pkg:fidl_cpp",
"$fuchsia_sdk_root/pkg:syslog",
"$fuchsia_sdk_root/pkg/lib/sys/cpp",
"$fuchsia_sdk_root/pkg/lib/vfs/cpp",
"//third_party/tonic",
":dart_jit${product_suffix}_runner_bin",
"$flutter_runner_base/kernel:kernel_core_snapshot${product_suffix}",
]
if (!invoker.product) {
deps += [ observatory_target ]
}
binary = "dart_jit${product_suffix}_runner"
meta_dir = "$flutter_root/shell/platform/fuchsia/dart_runner/meta"
snapshot_gen_dir =
"$root_build_dir/gen/flutter/shell/platform/fuchsia/flutter/kernel"
libraries = common_libs
resources = [
{
path = rebase_path(
"$snapshot_gen_dir/vm_isolate_snapshot${product_suffix}.bin")
dest = "vm_snapshot_data.bin"
},
{
path = rebase_path(
"$snapshot_gen_dir/vm_snapshot_instructions${product_suffix}.bin")
dest = "vm_snapshot_instructions.bin"
},
{
path = rebase_path(
"$snapshot_gen_dir/isolate_snapshot${product_suffix}.bin")
dest = "isolate_core_snapshot_data.bin"
},
{
path = rebase_path(
"$snapshot_gen_dir/isolate_snapshot_instructions${product_suffix}.bin")
dest = "isolate_core_snapshot_instructions.bin"
},
]
if (!invoker.product) {
resources += [
{
path = rebase_path(observatory_archive_file)
dest = "observatory.tar"
},
]
}
meta = [
{
path = rebase_path("meta/dart_jit${product_suffix}_runner.cmx")
dest = "dart_jit${product_suffix}_runner.cmx"
},
]
}
}
jit_runner_package("dart_jit_runner") {
product = false
}
jit_runner_package("dart_jit_product_runner") {
product = true
}
shell/platform/fuchsia/flutter/BUILD.gn
浏览文件 @
3e3efe4c
...
...
@@ -8,6 +8,7 @@ import("//build/fuchsia/sdk.gni")
import("$flutter_root/common/config.gni")
import("$flutter_root/shell/gpu/gpu.gni")
import("$flutter_root/tools/fuchsia/common_libs.gni")
import("$flutter_root/tools/fuchsia/dart.gni")
import("$flutter_root/tools/fuchsia/package_dir.gni")
shell_gpu_configuration("fuchsia_gpu_configuration") {
...
...
@@ -195,13 +196,6 @@ flutter_runner("aot_product") {
]
}
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
...
...
@@ -226,6 +220,8 @@ template("jit_runner") {
binary = "flutter_jit${product_suffix}_runner"
meta_dir = "$flutter_root/shell/platform/fuchsia/flutter/meta"
resources = [
{
path = rebase_path("//third_party/icu/common/icudtl.dat")
...
...
@@ -292,6 +288,8 @@ template("aot_runner") {
deps += [ observatory_target ]
}
meta_dir = "$flutter_root/shell/platform/fuchsia/flutter/meta"
binary = "flutter_aot${product_suffix}_runner"
resources = [
...
...
tools/fuchsia/build_fuchsia_artifacts.py
浏览文件 @
3e3efe4c
...
...
@@ -85,10 +85,10 @@ def CopyFiles(source, destination):
raise
def
CopyToBucketWithMode
(
source
,
destination
,
aot
,
product
):
def
CopyToBucketWithMode
(
source
,
destination
,
aot
,
product
,
runner_type
):
mode
=
'aot'
if
aot
else
'jit'
product_suff
=
'_product'
if
product
else
''
runner_name
=
'
flutter_%s%s_runner'
%
(
mode
,
product_suff
)
runner_name
=
'
%s_%s%s_runner'
%
(
runner_type
,
mode
,
product_suff
)
far_dir
=
'%s_far'
%
runner_name
source_root
=
os
.
path
.
join
(
_out_dir
,
source
)
source
=
os
.
path
.
join
(
source_root
,
far_dir
)
...
...
@@ -104,9 +104,10 @@ def CopyToBucketWithMode(source, destination, aot, product):
CopyPath
(
patched_sdk_dir
,
dest_sdk_path
)
def
CopyToBucket
(
src
,
dst
,
product
=
False
):
CopyToBucketWithMode
(
src
,
dst
,
False
,
product
)
CopyToBucketWithMode
(
src
,
dst
,
True
,
product
)
def
CopyToBucket
(
src
,
dst
,
product
=
False
):
CopyToBucketWithMode
(
src
,
dst
,
False
,
product
,
'flutter'
)
CopyToBucketWithMode
(
src
,
dst
,
True
,
product
,
'flutter'
)
CopyToBucketWithMode
(
src
,
dst
,
False
,
product
,
'dart'
)
def
BuildBucket
():
...
...
@@ -138,9 +139,12 @@ def ProcessCIPDPakcage(upload, engine_version):
subprocess
.
check_call
(
command
,
cwd
=
_bucket_directory
)
def
GetRunnerTarget
(
product
,
aot
):
base
=
'flutter/shell/platform/fuchsia/flutter:'
target
=
'flutter_'
def
GetRunnerTarget
(
runner_type
,
product
,
aot
):
base
=
'flutter/shell/platform/fuchsia/%s:'
%
runner_type
if
'dart'
in
runner_type
:
target
=
'dart_'
else
:
target
=
'flutter_'
if
aot
:
target
+=
'aot_'
else
:
...
...
@@ -154,10 +158,10 @@ def GetRunnerTarget(product, aot):
def
GetTargetsToBuild
(
product
=
False
):
targets_to_build
=
[
# The Flutter Runner.
GetRunnerTarget
(
product
,
False
),
GetRunnerTarget
(
product
,
True
),
GetRunnerTarget
(
'flutter'
,
product
,
False
),
GetRunnerTarget
(
'flutter'
,
product
,
True
),
# The Dart Runner.
# 'flutter/shell/platform/fuchsia/dart:dart'
,
GetRunnerTarget
(
'dart_runner'
,
product
,
False
)
,
]
return
targets_to_build
...
...
@@ -196,7 +200,7 @@ def main():
BuildBucket
()
ProcessCIPDPakcage
(
args
.
upload
,
args
.
engine_version
)
#
ProcessCIPDPakcage(args.upload, args.engine_version)
if
__name__
==
'__main__'
:
...
...
tools/fuchsia/dart.gni
浏览文件 @
3e3efe4c
...
...
@@ -4,3 +4,10 @@
gen_snapshot = "//third_party/dart/runtime/bin:gen_snapshot"
gen_snapshot_product = "//third_party/dart/runtime/bin:gen_snapshot_product"
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"
tools/fuchsia/package_dir.gni
浏览文件 @
3e3efe4c
...
...
@@ -7,6 +7,7 @@
# This currently ignores the CMX files and does minimal validation.
template("package_dir") {
assert(defined(invoker.binary), "package must define binary")
assert(defined(invoker.meta_dir), "package must define meta_dir")
pkg_target_name = target_name
pkg = {
...
...
@@ -18,6 +19,7 @@ template("package_dir") {
"meta",
"resources",
"libraries",
"meta_dir",
])
if (!defined(package_name)) {
package_name = pkg_target_name
...
...
@@ -51,13 +53,13 @@ template("package_dir") {
copy_outputs += [ "$far_base_dir/lib/${lib.name}" ]
}
flutter_meta_dir = "$flutter_root/shell/platform/fuchsia/flutter/meta"
meta_dir = pkg.meta_dir
cmx_target = "$pkg_target_name.copy_cmx"
copy("$cmx_target") {
sources = [
"${
flutter_
meta_dir}/${pkg_target_name}.cmx",
"${meta_dir}/${pkg_target_name}.cmx",
]
outputs = [
"$far_base_dir/meta/{{source_file_part}}",
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录