Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Build Lite
提交
8354ff9f
B
Build Lite
项目概览
OpenHarmony
/
Build Lite
大约 1 年 前同步成功
通知
22
Star
24
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
Build Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
8354ff9f
编写于
8月 23, 2022
作者:
O
openharmony_ci
提交者:
Gitee
8月 23, 2022
浏览文件
操作
浏览文件
下载
差异文件
!557 支持syscap默认值配置和产品可配置
Merge pull request !557 from 刘家辉/master
上级
29aad33a
39994383
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
1 deletion
+45
-1
hb_internal/preloader/parse_vendor_product_config.py
hb_internal/preloader/parse_vendor_product_config.py
+27
-1
hb_internal/preloader/preloader.py
hb_internal/preloader/preloader.py
+18
-0
未找到文件。
hb_internal/preloader/parse_vendor_product_config.py
浏览文件 @
8354ff9f
...
...
@@ -44,6 +44,28 @@ def get_features(features):
pairs
[
'features'
]
=
feats
return
pairs
def
get_syscap
(
syscap
):
feats
=
{}
for
feat
in
syscap
:
if
not
feat
:
continue
if
'='
not
in
feat
:
raise
Exception
(
"Error: invalid syscap [{}]"
.
format
(
feat
))
match
=
feat
.
index
(
"="
)
key
=
feat
[:
match
].
strip
()
val
=
feat
[
match
+
1
:].
strip
().
strip
(
'"'
)
if
val
==
'true'
:
feats
[
key
]
=
True
elif
val
==
'false'
:
feats
[
key
]
=
False
elif
re
.
match
(
r
'[0-9]+'
,
val
):
feats
[
key
]
=
int
(
val
)
else
:
feats
[
key
]
=
val
.
replace
(
'
\"
'
,
'"'
)
pairs
=
dict
()
pairs
[
'syscap'
]
=
feats
return
pairs
def
get_exclusion_modules
(
exclusions
):
pairs
=
dict
()
...
...
@@ -60,18 +82,22 @@ def from_ss_to_parts(subsystems):
for
com
in
components
:
com_name
=
com
.
get
(
'component'
)
features
=
com
.
get
(
'features'
)
syscap
=
com
.
get
(
'syscap'
)
exclusions
=
com
.
get
(
'exclusions'
)
if
features
:
pairs
=
get_features
(
features
)
parts
[
'{}:{}'
.
format
(
ss_name
,
com_name
)]
=
pairs
else
:
parts
[
'{}:{}'
.
format
(
ss_name
,
com_name
)]
=
dict
()
if
syscap
:
pairs
=
get_syscap
(
syscap
)
parts
.
get
(
'{}:{}'
.
format
(
ss_name
,
com_name
)).
update
(
pairs
)
if
exclusions
:
pairs
=
get_exclusion_modules
(
exclusions
)
parts
.
get
(
'{}:{}'
.
format
(
ss_name
,
com_name
)).
update
(
pairs
)
# Copy other key-values
for
key
,
val
in
com
.
items
():
if
key
in
[
'component'
,
'features'
,
'exclusions'
]:
if
key
in
[
'component'
,
'features'
,
'
syscap'
,
'
exclusions'
]:
continue
parts
[
'{}:{}'
.
format
(
ss_name
,
com_name
)][
key
]
=
val
return
parts
...
...
hb_internal/preloader/preloader.py
浏览文件 @
8354ff9f
...
...
@@ -128,6 +128,20 @@ def _output_parts_features(all_parts, output_file):
dump_json_file
(
output_file
,
parts_feature_info
)
return
all_features
def
_output_parts_syscap
(
all_parts
,
output_file
):
all_syscap
=
{}
part_syscap_map
=
{}
for
_part_name
,
vals
in
all_parts
.
items
():
_syscap
=
vals
.
get
(
'syscap'
)
if
_syscap
:
all_syscap
.
update
(
_syscap
)
part_syscap_map
[
_part_name
.
split
(
':'
)[
1
]]
=
_syscap
parts_syscap_info
=
{
"syscap"
:
all_syscap
,
"part_to_syscap"
:
part_syscap_map
}
dump_json_file
(
output_file
,
parts_syscap_info
)
def
_output_exclusion_modules_json
(
all_parts
,
output_file
):
exclusions
=
{}
...
...
@@ -494,6 +508,7 @@ class Outputs:
self
.
parts_config_json
=
os
.
path
.
join
(
output_dir
,
'parts_config.json'
)
self
.
build_gnargs_prop
=
os
.
path
.
join
(
output_dir
,
'build_gnargs.prop'
)
self
.
features_json
=
os
.
path
.
join
(
output_dir
,
'features.json'
)
self
.
syscap_json
=
os
.
path
.
join
(
output_dir
,
'syscap.json'
)
self
.
exclusion_modules_json
=
os
.
path
.
join
(
output_dir
,
'exclusion_modules.json'
)
self
.
subsystem_config_json
=
os
.
path
.
join
(
output_dir
,
...
...
@@ -571,6 +586,9 @@ class Preloader():
all_features
=
_output_parts_features
(
all_parts
,
self
.
_outputs
.
features_json
)
# save syscap to syscap_json
_output_parts_syscap
(
all_parts
,
self
.
_outputs
.
syscap_json
)
# Save gn args to build_gnargs_prop
_output_gnargs_prop
(
all_features
,
self
.
_outputs
.
build_gnargs_prop
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录