52 Star 276 Fork 1.1K

OpenHarmony / manifest

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README
Apache-2.0

OpenHarmony Community

欢迎来到OpenHarmony社区!

1. 仓的分类说明1

为了支持按照不同类型下载代码,OpenHarmony为每个代码仓定义了以下类别:

分类 分类说明 group
轻量系统仓 适用于轻量系统的代码仓 ohos:mini
小型系统仓 适用于小型系统的代码仓 ohos:small
标准系统仓 适用于标准系统的代码仓 ohos:standard
系统组件仓 标准系统中与硬件无关的代码仓,构建产物都部署在/system目录下。 ohos:system
芯片组件仓 标准系统中与芯片或硬件相关的仓,构建产物部署在/vendor或/chipset目录下。 ohos:chipset

一个仓可以归属于多个group,如下代码所示,groups中多个group以","连接在一起。

<project name="inputmethod_imf" path="base/miscservices/inputmethod" groups="ohos:standard,ohos:system"/>

<project name="ai_engine" path="foundation/ai/ai_engine" groups="ohos:mini,ohos:small,ohos:standard,ohos:system"/>

每个仓可以适用于mini,small或standard系统,如果适用于standard系统,同时需要明确是ohos:system类型还是ohos:chipset类型。

每个仓都需要加入默认的default组。

2. 平台仓和芯片仓

OpenHarmony会支持越来越多的芯片平台,每个芯片平台会在device和vendor目录下创建相应的仓;为了区分,我们把这类仓称为芯片仓,其它的仓称为平台仓。平台仓和芯片仓具有不同的生命周期,芯片仓可能会随着硬件的演进而逐渐废弃,而平台仓相对与具体的硬件关系不大,生命周期相对更长。

平台仓都组织在manifests/ohos/ohos.xml文件中,而芯片仓都组织在manifests/chipsets/ 目录下。全量的代码仓组织形式如下所示:

manifest
    ├── default.xml
    │   └── ohos
    │   └── ohos.xml
    └── chipsets
        ├── all.xml
        ├── chipset1.xml
        ├── chipset2.xml
        ├── chipsetN.xml
        ├── chipset1
        │   └── chipset1-detail.xml
        ├── chipset2
        │   └── chipset2-detail.xml
        └── chipsetN
            └── chipsetN-detail.xml
  • default.xml由ohos/ohos.xml和chipsets/all.xml组成,是所有平台仓和芯片仓的集合;通过此方式可以下载所有代码仓。

  • chipsets/chipsetN/chipsetN-detail.xml是单个芯片平台所引入的仓集合,chipsets/chipsetN.xml是由ohos/ohos.xml和chipsetN-detail.xml仓组合而成,用于下载该芯片平台的全量仓。

  • chipsets/all.xml则是所有芯片平台xxx/xxx-detail.xml的仓组合,用于汇总所有芯片仓。

    注意:

    每个开发板的chipsets/chipsetN/chipsetN-detail.xml里主要包括device/soc,device/board以及vendor相关仓。多个开发板可能共用device/soc仓或vendor仓,此时需要注意防止chipsets/all.xml里重复包含共用的仓。

    例如:

    chipsets/bearpi_hm_nano.xml和chipsets/bearpi_hm_micro.xml中直接包含了chipsets/hispark/hispark.xml,并额外增加了vendor_bearpi和device_board_bearpi;而这两个仓在chipsets/bearpi_hm_micro/bearpi_hm_micro.xml中已经包含,因此chipsets/all.xml里不需要额外包含bearpi_hm_nano开发板的仓。

按照上述分类,可支持各种代码下载方式:

下表中的URL默认为https://gitee.com/openharmony/manifest.git或git@gitee.com:openharmony/manifest.git,详细内容可参考[获取源码](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md)页。

统分类 代码下载方式 下载命令 说明
所有系统 全量代码 repo init -u URL -b master 默认下载OpenHarmony的全量代码(兼容已有下载命令)。
轻量系统 全量代码 repo init -u URL -b master -g ohos:mini 下载轻量系统全量代码。
轻量系统 指定芯片代码 repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:mini 下载轻量系统指定芯片的代码。
小型系统 全量代码 repo init -u URL -b master -g ohos:small 下载小型系统全量代码。
小型系统 指定芯片代码 repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:small 下载小型系统指定芯片的代码。
标准系统 全量代码 repo init -u URL -b master -g ohos:standard 下载标准系统的全量代码。
标准系统 指定芯片代码 repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:standard 下载标准系统指定芯片的代码。
标准系统 系统组件代码 repo init -u URL -b master -g ohos:system 下载标准系统系统组件的代码。
标准系统 芯片组件代码 repo init -u URL -b master -g ohos:chipset 下载芯片组件的代码(所有芯片平台)。
标准系统 指定芯片组件代码 repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:chipset 下载指定芯片chipsetN的芯片组件代码。

3. matrix_product.csv文件说明

matrix_product.csv用于管理OpenHarmony代码仓对应的编译形态,以及每个设备形态下面对应的测试用例。

修改/新增代码仓

matrix_product.csv每一行对应一个代码仓,新增的代码仓需要新加一行。 A,B两列分别填入对应的仓名和组件名,C列往后是编译形态和对应测试形态(Test_{编译形态}),编译形态填写Y/N,测试形态填写测试用例。

门禁规则

1、PR精准构建需要代码仓责任田维护仓与各编译形态的关系,该文件采用CSV格式保存,存放在manifest代码仓。 新增仓、修改仓涉及manifest及Matrix.csv的,责任田自行修改,不更新manifest以及Matrix.csv的子系统默认不进行构建。

2、TDD测试用例由责任田提供 ,并维护Matrix.csv中的对应编译形态的测试套列表,责任田没有提供编译形态测试用例的,门禁不做测试验证。

3、组件依赖关系由责任田维护,不提供依赖关系的只测试当前组件,提供依赖关系会解析三层组件的总测试用例集用于门禁测试。

验证方法

评论start build是否可以正常触发门禁,如提示默认不跑门禁,则需填写matrix_product.csv

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS

About

No description expand collapse
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
1
https://gitee.com/openharmony/manifest.git
git@gitee.com:openharmony/manifest.git
openharmony
manifest
manifest
master

Search