发现各个子系统、组件、三方库目录下都添加了bundle.json,了解下该文件的用途、用法并快速记录下。
1、HPM Bundle的基本概念
Bundle是OpenHarmony中一个用来表示分发单元的术语,等同于包,一个Bundle中通常包含以下内容:
- 被分发的二进制文件(二进制类型)
- 被分发的源代码文件(源代码/代码片段类型)
- 编译脚本(发行版类型需要)
- 自身的说明文件
- bundle.json:元数据声明(名称,版本,依赖等)
- LICENSE:许可协议文本
- README.md:自述文件
- CHANGELOG.md:变更日志(可选)
一个Bundle被发布到HPM服务器( https://hpm.harmonyos.com )后,另外一些开发者就可以通过hpm包管理器下载安装使用 。一个Bundle在命名空间内拥有唯一的名称(命名格式为:@scope/name),可以进行独立的版本演进。
一个bundle包通常具有如下代码组织结构:
demo
├── headers # 头文件(样例)
│ └── main.h
└── src # 源代码(样例)
│ └─ main.c
├── bundle.json # 元数据声明文件
└── LICENSE # 许可协议文本
└── Makefile # 编译描述文件(样例)
└── README.md # Bundle的自述文件
2、bundle.json文件格式定义
文件bundle.json一般具有如下格式,对各个属性值的解释见注释部分。因为是json文件,注意下是对象还是数组。对象由花括号{}括起来的逗号分割的成员构成,成员是字符串键和值由逗号分割的键值对组成。数组是由方括号[]括起来的一组值构成。
{
"name": "@ohos/<component_name>", # HPM部件的英文名称, 由@符合、组织名称、部件名称组成。
"description": "component description", # 部件描述
"version": "3.1.0", # 版本号,3.1 应该取的OpenHarmony版本号
"homePage": "https://gitee.com/openharmony", # 部件的主页
"license": "BSD 3-claus", # 部件的版权协议,根据部件license情况填写
"publishAs": "code-segment", # 发布形式,一般为代码片段code-segment
"segment": { # 部件的代码路径
"destPath": "<subsystem>/<component_name>"
},
"dirs": [], # HPM包的目录结构
"scripts": {}, # HPM包定义需要执行的脚本
"component": { # 部件的属性信息

最低0.47元/天 解锁文章
1497

被折叠的 条评论
为什么被折叠?



