29 Star 130 Fork 249

OpenHarmony / build_lite

 / 详情

SIG仓一些产品hb编译的问题

Done
Task
Opened this issue  
2021-12-16 16:00

【任务描述】

复现步骤

1、更新sig仓代码的命令:

repo init -u https://gitee.com/openharmony-sig/manifest  -b master -m devboard_fnlink_soc_bestechnic.xml --no-repo-verify

2、 选择产品编译

在根目录下,执行 hb set -root .,选择bestechnic-iotlink_demo. 报错如下:

输入图片说明

3、初步定位wrong version number问题

比对iotlink-demo和qemu的工程配置,前者缺失version、type等字段,补充上。

输入图片说明
重新编译,错误如下:

输入图片说明

4、产品仓明细

如果需要确认相关的config.json、config.gni 见如下目录:

【解决方案】

【任务来源】

Comments (4)

kenneth created任务
kenneth changed description
kenneth set priority to P4
Expand operation logs

编译框架做了调整。调整后标准系统和lite系统使用一套编译和产品配置框架。
编译框架要求产品做如下适配:

  1. 在产品的config.json中添加version和type字段。参见https://gitee.com/openharmony/vendor_hisilicon/pulls/256/files
    文档也做了修改,可以去docs目录查看。
  2. 在产品目录和board目录增加ohos.build,这个文件将会由build系统解析,然后对描述的模块进行编译。
    产品目录的修改同上面的链接。产品目录的部件名为product_${product_name},board目录的部件名为device_${board_name}
    board目录修改可以参考https://gitee.com/openharmony/device_hisilicon_hispark_aries/pulls/43/files
  3. 补全依赖关系
    框架统一后,lite系统的默认编译目标从all改为packages,如果发现有目标没有编译出来,请补全依赖关系
    目前开源主干仍然在补全依赖阶段,当前阶段使用的编译命令为./build.sh --product-name xxxxxx,待主干补全结束后,后续的编译命令将统一到hb

对应的文档在这里 https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-build-mini-lite.md。

另外,这样比较大的改动,有没有经过考虑过兼容性?对外部影响太大了。

目前这个方案就是兼容后的结果。
由于lite和standard两个系统产品配置格式差异较大,所以不得已需要添加版本号来做兼容。
框架合并的基本思路是:产品配置和编译入口用lite的,部件架构用的是standard的,取两者的长处来搞的。

weichaox changed issue state from 待办的 to 进行中
kenneth changed issue state from 进行中 to 已完成

Sign in to comment

Status
Assignees
Projects
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
参与者(2)
Python
1
https://git.oschina.net/openharmony/build_lite.git
git@git.oschina.net:openharmony/build_lite.git
openharmony
build_lite
build_lite

Search

101014 b92fc32e 1850385 101014 af024cb7 1850385