Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
liujiuri
engine
提交
6442c624
E
engine
项目概览
liujiuri
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
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,发现更多精彩内容 >>
提交
6442c624
编写于
9月 30, 2016
作者:
P
P.Y. Laligand
提交者:
GitHub
9月 30, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use the flutter tool to build flx files with gn. (#3067)
上级
71f2871f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
58 addition
and
33 deletion
+58
-33
build/flutter_app.gni
build/flutter_app.gni
+28
-7
build/package.py
build/package.py
+30
-26
未找到文件。
build/flutter_app.gni
浏览文件 @
6442c624
...
...
@@ -45,6 +45,17 @@ template("flutter_app") {
flutter_snapshot_dir = get_label_info(flutter_snapshot_label, "root_out_dir")
flutter_snapshot = "$flutter_snapshot_dir/sky_snapshot"
dart_binary_label = "//dart/runtime/bin:dart_no_observatory($host_toolchain)"
dart_binary_dir = get_label_info(dart_binary_label, "root_out_dir")
dart_binary = "$dart_binary_dir/dart_no_observatory"
flutter_tools_label = "//lib/flutter/packages/flutter_tools"
flutter_tools_gen_dir = get_label_info(flutter_tools_label, "target_gen_dir")
flutter_tools_name = get_label_info(flutter_tools_label, "name")
flutter_tools_packages = "$flutter_tools_gen_dir/$flutter_tools_name.packages"
flutter_tools_main = "$flutter_tools_label/bin/flutter_tools.dart"
dot_packages = "$target_gen_dir/$dart_package_name.packages"
bundle_path = "$root_out_dir/$bundle_name"
snapshot_path = "$target_gen_dir/${target_name}_snapshot.bin"
depfile_path = "${snapshot_path}.d"
...
...
@@ -70,27 +81,37 @@ template("flutter_app") {
script = "//flutter/build/package.py"
args = [
"--snapshotter",
"--root",
rebase_path(dart_binary_dir),
"--dart",
rebase_path(dart_binary),
"--flutter-tools-packages",
rebase_path(flutter_tools_packages),
"--flutter-tools-main",
rebase_path(flutter_tools_main),
"--snapshotter-path",
rebase_path(flutter_snapshot),
"--working-dir",
rebase_path("$target_gen_dir/build"),
"--app-dir",
rebase_path("."),
"--main-dart",
rebase_path(main_dart),
"--packages",
rebase_path(
"$target_gen_dir/$dart_package_name.packages"
),
"--
bund
le",
rebase_path(
dot_packages
),
"--
output-fi
le",
rebase_path(bundle_path),
"--bundle-header",
"#!mojo mojo:flutter_content_handler",
"--snapshot",
rebase_path(snapshot_path),
"--depfile",
rebase_path(depfile_path),
"--build-output",
rebase_path(bundle_path, root_build_dir),
]
deps = [
":$dart_package_name",
dart_binary_label,
flutter_snapshot_label,
flutter_tools_label,
]
if (defined(invoker.deps)) {
...
...
build/package.py
浏览文件 @
6442c624
...
...
@@ -6,16 +6,26 @@
import
argparse
import
subprocess
import
os
import
StringIO
import
sys
import
zipfile
def
main
():
parser
=
argparse
.
ArgumentParser
(
description
=
'Package a Flutter application'
)
parser
.
add_argument
(
'--snapshotter'
,
type
=
str
,
required
=
True
,
help
=
'The snapshot binary to use'
)
parser
.
add_argument
(
'--root'
,
type
=
str
,
required
=
True
,
help
=
'The root of the output directory'
)
parser
.
add_argument
(
'--dart'
,
type
=
str
,
required
=
True
,
help
=
'The Dart binary to use'
)
parser
.
add_argument
(
'--flutter-tools-packages'
,
type
=
str
,
required
=
True
,
help
=
'The package map for the Flutter tool'
)
parser
.
add_argument
(
'--flutter-tools-main'
,
type
=
str
,
required
=
True
,
help
=
'The main.drt file for the Flutter tool'
)
parser
.
add_argument
(
'--snapshotter-path'
,
type
=
str
,
required
=
True
,
help
=
'The Flutter snapshotter'
)
parser
.
add_argument
(
'--working-dir'
,
type
=
str
,
required
=
True
,
help
=
'The directory where to put intermediate files'
)
parser
.
add_argument
(
'--app-dir'
,
type
=
str
,
required
=
True
,
help
=
'The root of the app'
)
parser
.
add_argument
(
'--main-dart'
,
type
=
str
,
required
=
True
,
help
=
'The main.dart file to use'
)
parser
.
add_argument
(
'--packages'
,
type
=
str
,
required
=
True
,
...
...
@@ -24,36 +34,30 @@ def main():
help
=
'Path to application snapshot'
)
parser
.
add_argument
(
'--depfile'
,
type
=
str
,
required
=
True
,
help
=
'Where to output dependency information'
)
parser
.
add_argument
(
'--build-output'
,
type
=
str
,
required
=
True
,
help
=
'The final target to use in the dependency information'
)
parser
.
add_argument
(
'--bundle'
,
type
=
str
,
required
=
True
,
parser
.
add_argument
(
'--output-file'
,
type
=
str
,
required
=
True
,
help
=
'Where to output application bundle'
)
parser
.
add_argument
(
'--bundle-header'
,
type
=
str
,
required
=
True
,
help
=
'String to prepend to bundle'
)
args
=
parser
.
parse_args
()
env
=
os
.
environ
.
copy
()
env
[
'LD_LIBRARY_PATH'
]
=
args
.
root
result
=
subprocess
.
call
([
args
.
snapshotter
,
args
.
dart
,
'--packages=%s'
%
args
.
flutter_tools_packages
,
args
.
flutter_tools_main
,
'build'
,
'mojo'
,
'--snapshotter-path=%s'
%
args
.
snapshotter_path
,
'--working-dir=%s'
%
args
.
working_dir
,
'--target=%s'
%
args
.
main_dart
,
'--packages=%s'
%
args
.
packages
,
'--snapshot=%s'
%
args
.
snapshot
,
'--depfile=%s'
%
args
.
depfile
,
'--build-output=%s'
%
args
.
build_output
,
args
.
main_dart
,
])
if
result
!=
0
:
return
result
archive
=
StringIO
.
StringIO
()
with
zipfile
.
ZipFile
(
archive
,
'w'
)
as
z
:
z
.
write
(
args
.
snapshot
,
'snapshot_blob.bin'
,
zipfile
.
ZIP_DEFLATED
)
with
open
(
args
.
bundle
,
'w'
)
as
f
:
if
args
.
bundle_header
:
f
.
write
(
args
.
bundle_header
)
f
.
write
(
'
\n
'
)
f
.
write
(
archive
.
getvalue
())
'--output-file=%s'
%
args
.
output_file
,
],
env
=
env
,
cwd
=
args
.
app_dir
)
return
result
if
__name__
==
'__main__'
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录