鸿蒙OpenHarmony【HPM Part参考】

本文档将介绍HPM的Part的构成,包类型、划分原则、元数据字段以及相关命令行工具的常用命令等。

Part划分原则

原则上应尽可能划分为细颗粒度的Part,以满足最大限度的复用。主要考虑以下几点:

  • 独立性:Part的功能应该相对独立,支持独立编译,可以单独对外提供接口和服务;
  • 耦合性:如果Part必须依赖其他的Part,才能对外提供服务,应考虑和被依赖的Part合并为一个Part。
  • 相关性:如果一组Part共同完成一项功能,且没有被其他Part依赖,未来也没有被依赖的可能,则可以考虑合并为一个Part。

Part类型

Part是为复用而生,一切可以复用的部件都可以定义为Part,可以分为:

表1 HPM Part分类

部件 说明
source 以源码形式分发,被目标工程依赖、可独立编译。
binary 以二进制形式分发,不包含源代码,例如编译工具。
code-segment 以代码片段形式分发,无法独立编译,安装后还原到指定目录,在目标工程参与其他代码编译。
distribution 以发行版形式分发,依赖其他Part,不包含源码(编译脚本除外),编译输出为系统镜像。
template 以模板形态分发,用于hpm init创建模板。
plugin 以插件形态分发,作为hpm cli的插件,扩展hpm cli的功能。

Part构成

一个Part包一般包含如下内容:

  • Part包的代码或库(src目录下的代码文件)

  • ohos_bundles文件夹(存放依赖的Part,安装Part时自动生成,无需提交到代码库)

  • Part包的说明文件(README.md)

  • Part包元数据声明文件(bundle.json)

  • 开源许可文件(LICENSE)

    my-bundle
       |_ohos_bundles
       |_headers
       |_src
       |_bundle.json
       |_README.md
       |_LICENSE
    

src源代码

Part的代码文件和普通的代码目录没有差异。但要注意的是,Part中对外暴露的接口(头文件),会被其他Part所引用,需要单独在bundle.json的dirs中声明。

README文件

为了帮助他人在[DevEco Marketplace]上找到该Part,并更方便的使用它,在Part的根目录中包含一个README文件。

README.md,为markdown格式的描述关于Part自述说明文件。

README文件应包括如何安装,配置和使用Part包中的实例代码说明,以及可能会对用户有所帮助的任何其他信息。

自述文件将显示在[DevEco Marketplace的Part的详情页面中。

bundle.json文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值