• Home
Name Date Size #Lines LOC

..--

docs/06-Mar-2025-426249

examples/06-Mar-2025-59,80751,387

figures/06-Mar-2025-

release-notes/06-Mar-2025-322280

src/06-Mar-2025-54,26241,184

test/06-Mar-2025-8,5095,748

.clang-formatD06-Mar-20253.1 KiB111111

.gitattributesD06-Mar-2025533 87

.gitignoreD06-Mar-2025572 2928

FAQ.mdD06-Mar-20259.8 KiB158101

LICENSED06-Mar-202511.3 KiB202169

OAT.xmlD06-Mar-20255.4 KiB8229

README.mdD06-Mar-20254.4 KiB7845

README.md

1# 简介
2
3**napi-generator**初始目标为提供基于OpenHarmony标准系统,推出一些提升开发效率的NAPI框架代码生成工具。工作范围:
4
51. 针对开发人员、主流操作系统的IDE平台,提供NAPI框架代码生成工具
62. 提供使用范例
73. 提供持续的改进优化
8
9
10
11**工作目标**:
12
13| 工作目标                | 完成情况 | 备注                                                         |
14| ----------------------- | -------- | ------------------------------------------------------------ |
15| NAPI生成工具            | V1.4.1版 | 可进行小规模的自动生成,基本功能集:可通过简单dts或h文件生成对应代码 |
16| TS生成工具(h2dts)     | V1.0.0版 | 提供命令行和VSCode及Ideal插件,基本功能集:可将简单的h文件转换为dts文件 |
17| Gn生成工具(cmake2gn)  | V1.0.0版 | 基本功能集:在具备cmake编译的环境下能实现gn文件的自动生成,但是有多工程引用及其余依赖情况可能存在问题 |
18| Service生成工具(h2sa) | V1.0.0版 | 基本功能集:通过h文件生成sa服务框架代码,包括Ability注册、proxy/stub类实现、MessageParcel数据包构造、Service子系统编译及服务配置文件 |
19| API平台依赖分析扫描工具 | V1.0.0版 | 扫描三方库中包含OpenHarmony源码不包含的接口,并输出result.xlsx文档 |
20| HCS可视化工具           | V1.0.0版 | 详情参看:drivers_hdf_core/framework/tools/hcs-view          |
21| IDL生成工具             | V1.0.0版 | 详情参看:drivers_hdf_core/framework/tools/idl-gen           |
22| 提供使用范例            |          | 详情参看本仓example下的内容                                  |
23|                         |          |                                                              |
24|                         |          |                                                              |
25
26
27
28**架构图**
29
30![架构图](figures\arch.png)
31
32
33
34**具体模块说明**
35
36- dts2cpp工具可以根据用户指定路径下的ts(typescript)接口文件一键生成NAPI框架代码、业务代码框架、GN文件等。
37
38  [readme](https://gitee.com/openharmony/napi_generator/blob/master/src/cli/dts2cpp/dts2cpp_README_ZH.md)
39
40  [版本说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/dts2cpp/docs/release-notes)
41
42- h2dts工具可以根据定义在c++头文件中的接口,生成type-script语言的ts接口文件。
43
44  [readme](https://gitee.com/openharmony/napi_generator/blob/master/src/cli/h2dts/h2dts_README_ZH.md)
45
46  [版本说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/h2dts/docs/release-notes/ts_Gen-1.0.md)
47
48- cmake2gn工具可以根据三方库的CMakeLists.txt文件,编译转换生成BUILD.gn脚本文件。
49
50  [readme](https://gitee.com/openharmony/napi_generator/blob/master/src/cli/cmake2gn/cmake2gn_README_ZH.md)
51
52  [版本说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/cmake2gn/docs/release-notes/gn-gen-release-notes-0.0.2.md)
53
54- h2sa工具可以根据一个定义远程方法的.h头文件,生成整个Service框架的代码,包含Ability注册、proxy/stub类实现、MessageParcel数据包构造、Service子系统编译及开机自启动相关配置文件。
55
56  [readme](https://gitee.com/openharmony/napi_generator/blob/master/src/cli/h2sa/h2sa_README_ZH.md)
57
58  [版本说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/h2sa/docs/release-notes/Service-1.0.md)
59
60- h2dtscpp工具可以根据定义在c++头文件中的接口,生成type-script语言的ts接口文件、NAPI框架代码、和自动化测试用例代码。
61
62  [readme](https://gitee.com/openharmony/napi_generator/blob/master/src/cli/h2dtscpp/h2dtscpp_README_ZH.md)
63
64- scan工具,它可以扫描三方库中包含OpenHarmony源码不包含的接口,并输出result.xlsx文档。
65
66  [readme](https://gitee.com/openharmony/napi_generator/blob/master/src/tool/api/scan_README_ZH.md)
67
68
69**相关仓**
70
71[napi](https://gitee.com/openharmony/arkui_napi)
72[safwk](https://gitee.com/openharmony/systemabilitymgr_safwk)
73[samgr](https://gitee.com/openharmony/systemabilitymgr_samgr)
74[hdf](https://gitee.com/openharmony/drivers_hdf_core)
75[hidumper](https://gitee.com/openharmony/hiviewdfx_hidumper)
76[hilog](https://gitee.com/openharmony/hiviewdfx_hilog)
77[hisysevent](https://gitee.com/openharmony/hiviewdfx_hisysevent)
78