From bdbd69a2b937d860c4ac665f69f32ab0bb52aa73 Mon Sep 17 00:00:00 2001 From: gou-jingjing Date: Fri, 23 Feb 2024 14:58:48 +0800 Subject: [PATCH] style: modify service and api tool docs Signed-off-by: gou-jingjing --- hdc/api/README_ZH.md | 31 +-- hdc/api/api_scan_vs_plugin/README_zh.md | 18 +- .../api_scan_vs_plugin/docs/INSTRUCTION_ZH.md | 2 +- hdc/api/docs/INSTRUCTION_ZH.md | 93 +------- hdc/invalid_docs/api/README_ZH.md | 93 ++++++++ hdc/{ => invalid_docs}/api/docs/DEVELOP_ZH.md | 216 +++++++++--------- hdc/invalid_docs/api/docs/INSTRUCTION_ZH.md | 108 +++++++++ hdc/invalid_docs/api/vs/README_zh.md | 85 +++++++ .../api/vs}/docs/DEVELOP_ZH.md | 8 +- .../api/vs/docs/INSTRUCTION_ZH.md | 36 +++ hdc/invalid_docs/service/README_ZH.md | 108 +++++++++ hdc/invalid_docs/service/docs/DEVELOP_ZH.md | 158 +++++++++++++ .../service/docs/INSTRUCTION_ZH.md | 99 ++++++++ hdc/invalid_docs/service/vs/README_zh.md | 86 +++++++ .../service/vs}/docs/DEVELOP_ZH.md | 28 +-- .../service/vs/docs/INSTRUCTION_ZH.md | 47 ++++ hdc/service/README_ZH.md | 29 +-- hdc/service/docs/DEVELOP_ZH.md | 6 - hdc/service/docs/INSTRUCTION_ZH.md | 75 +----- hdc/service/service_vs_plugin/README_zh.md | 24 +- .../service_vs_plugin/docs/INSTRUCTION_ZH.md | 2 +- 21 files changed, 954 insertions(+), 398 deletions(-) create mode 100644 hdc/invalid_docs/api/README_ZH.md rename hdc/{ => invalid_docs}/api/docs/DEVELOP_ZH.md (91%) mode change 100755 => 100644 create mode 100644 hdc/invalid_docs/api/docs/INSTRUCTION_ZH.md create mode 100644 hdc/invalid_docs/api/vs/README_zh.md rename hdc/{api/api_scan_vs_plugin => invalid_docs/api/vs}/docs/DEVELOP_ZH.md (92%) mode change 100755 => 100644 create mode 100644 hdc/invalid_docs/api/vs/docs/INSTRUCTION_ZH.md create mode 100644 hdc/invalid_docs/service/README_ZH.md create mode 100644 hdc/invalid_docs/service/docs/DEVELOP_ZH.md create mode 100644 hdc/invalid_docs/service/docs/INSTRUCTION_ZH.md create mode 100644 hdc/invalid_docs/service/vs/README_zh.md rename hdc/{service/service_vs_plugin => invalid_docs/service/vs}/docs/DEVELOP_ZH.md (71%) mode change 100755 => 100644 create mode 100644 hdc/invalid_docs/service/vs/docs/INSTRUCTION_ZH.md diff --git a/hdc/api/README_ZH.md b/hdc/api/README_ZH.md index cb734752..0373d2de 100755 --- a/hdc/api/README_ZH.md +++ b/hdc/api/README_ZH.md @@ -2,7 +2,7 @@ ## 简介 -本文主要介绍API扫描工具,它可以扫描三方库中包含OpenHarmony源码不包含的接口,并输出result.xlsx文档。开发者移植三方库到OpenHarmony源码中,若三方库中包含一些OpenHarmony中不存在的接口,便会增加移植难度。此时可使用API扫描工具,提前预知风险接口,降低移植难度,提高开发效率。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口。 +本文主要介绍API扫描工具,它可以扫描三方库中包含OpenHarmony源码不包含的接口,并输出result.xlsx文档。开发者移植三方库到OpenHarmony源码中,若三方库中包含一些OpenHarmony中不存在的接口,便会增加移植难度。此时可使用API扫描工具,提前预知风险接口,降低移植难度,提高开发效率。目前工具支持VS Code插件一种入口。 更多工具的架构和实现原理详情,可以左键单击以下链接了解: @@ -14,10 +14,7 @@ │ │ ├── ... # 其他工具 │ │ ├── api # api扫描工具 │ │ | ├── api_scan_vs_plugin # VS Code插件源码 - │ │ | ├── api_scan_IntelliJ_plugin # Intellij插件源码 - │ │ | ├── src # 工具源码 - │ │ | | ├── scan.js # 工具源码入口 - │ │ | | ├── package.json # package.json文件 + │ │ | ├── ... ## 约束 系统:建议Ubuntu 20.04或者Windows 10 @@ -36,15 +33,11 @@ ### 工具使用 -工具有三种类型,分别是可执行文件、VS Code插件、IntelliJ插件。其中的可执行文件可根据工具使用者的开发环境选择,支持Windows,Linux和Mac。 - -可执行文件和IntelliJ插件暂未对外发布,后续将对外发布; - -VS Code插件可在VS Code插件市场直接下载。 +工具支持VS Code插件,可在VS Code插件市场直接下载。 具体的工具使用步骤,可以左键单击以下链接了解: -[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/docs/INSTRUCTION_ZH.md) +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md) ### 工具输出 @@ -62,22 +55,6 @@ VS Code插件可在VS Code插件市场直接下载。 ![](./figures/opencv_h.png) -## 工具开发说明 - -### 对象 - -工具的开发者 - -### 开发场景 - -若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 - -### 开发步骤 - -开发者可以根据如下的步骤来完成对工具的开发: - - [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/docs/DEVELOP_ZH.md) - ## 版本说明 暂无 diff --git a/hdc/api/api_scan_vs_plugin/README_zh.md b/hdc/api/api_scan_vs_plugin/README_zh.md index 8fbe0dcc..46f7b81e 100755 --- a/hdc/api/api_scan_vs_plugin/README_zh.md +++ b/hdc/api/api_scan_vs_plugin/README_zh.md @@ -2,7 +2,7 @@ ## 简介 -API扫描工具,它可以根据用户给定三方库项目扫描输出风险接口以及.h头文件。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口,本文主要介绍VS Code插件使用说明。 +API扫描工具,它可以根据用户给定三方库项目扫描输出风险接口以及.h头文件。目前工具支持VS Code插件一种入口,本文主要介绍VS Code插件使用说明。 ## 目录 @@ -54,22 +54,6 @@ sheet2为风险.h头文件,如下所示: ![](../figures/opencv_h.png) -## 开发说明 - -### 对象 - -工具的开发者 - -### 开发场景 - -若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 - -### 开发步骤 - -开发者可以根据如下的步骤来完成对工具VS Code插件的开发: - -[工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_vs_plugin/docs/DEVELOP_ZH.md) - ## FAQ 对于常见问题解决方法指导如下: diff --git a/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md b/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md index d22fb092..91c5ea58 100755 --- a/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md +++ b/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md @@ -1,7 +1,7 @@ # API扫描工具VSCode插件使用说明 ## 简介 -API扫描工具目前支持三种入口,分别是可执行程序、IntelliJ插件、VS Code插件,本文主要介绍VS Code插件使用说明。 +API扫描工具目前支持一种入口,即VS Code插件,本文主要介绍VS Code插件使用说明。 ## VS Code插件使用方法 diff --git a/hdc/api/docs/INSTRUCTION_ZH.md b/hdc/api/docs/INSTRUCTION_ZH.md index 3ffa67be..54e5b6de 100755 --- a/hdc/api/docs/INSTRUCTION_ZH.md +++ b/hdc/api/docs/INSTRUCTION_ZH.md @@ -1,20 +1,9 @@ # API扫描工具使用说明 ## 简介 -API扫描工具支持三种入口,分别是可执行程序、VS Code插件、IntelliJ插件,使用者可以根据自己的需要选择合适的工具。 +API扫描工具支持一种入口,即VS Code插件,使用者可以根据自己的需要下载工具使用。 -可执行文件和IntelliJ插件暂未对外发布,后续将对外发布; - -VS Code插件可在VS Code插件市场直接下载。 - -下载文件说明如下: - - │ │ |── api_scan_IntelliJ_plugin.jar # IntelliJ插件 - │ │ |── ApiScan-0.0.1.vsix # VS Code插件 - │ │ |── Andr_N_Games_api.xlsx # 风险接口 - │ │ |── search-linux # Linux可执行程序 - │ │ |── search-win.exe # Windows可执行程序 - │ │ └── search-macos # Mac可执行程序 +VS Code插件可在VS Code插件市场直接下载。 ## 工具介绍 @@ -24,87 +13,9 @@ VS Code插件可在VS Code插件市场直接下载。 ## 生成result文件 -### 可执行程序使用方法 - -#### Linux -1、Ubuntu中存在将要扫描的三方库源码,如下所示: - - harmony@Ubuntu-64:~/service$ ls /home/harmony/linshi/ - opencv - -2、将下载的search-linux可执行程序放置任意路径下,如下所示: - - harmony@Ubuntu-64:~/service$ ls - search-linux - -3、进入到search-linux可执行程序路径下,并执行可执行程序,执行命令如下: - - harmony@Ubuntu-64:~/service$ ./search-linux -d /home/harmony/linshi/opencv/ -o ./ - { - function: Set(70) { - 'AndroidBitmap_getInfo', - ...... - 'ANativeWindow_release' - }, - include: Set(3) { 'bitmap.h', 'input.h', 'log.h' } - } - output: result.xlsx - harmony@Ubuntu-64:~/service/napi_generator_8/hdc/api/API-Scan/example$ - -其中,参数详情如下: - -d, 被扫描项目的路径; - -o, 可选参数,默认为当前路径下,输出结果存放路径。 - -4、运行成功后会在当前目录下生成result.xlsx文件,如下所示: - - harmony@Ubuntu-64:~/service$ ls - result.xlsx search-linux - -#### Windows - -1、E:\workspace\杂七杂八\service\目录下存在将要扫描的项目opencv。 - -2、将下载的search-win.exe可执行程序放置任意路径下,如下所示: - - E:\demo\api>dir /B - search-win.exe - -3、进入search-win.exe可执行程序路径下,并执行可执行程序,执行过程如下: - - E:\demo\api>search-win.exe -d E:\workspace\杂七杂八\service\opencv -o ./ - { - function: Set(70) { - 'AndroidBitmap_getInfo', - ...... - 'ANativeWindow_release' - }, - include: Set(3) { 'bitmap.h', 'input.h', 'log.h' } - } - output: result.xlsx - -其中,参数详情如下: - -d, 被扫描项目的路径 - -o, 可选参数,默认为当前路径下,输出结果存放路径。 - -4、运行成功后会在当前目录下生成result.xlsx文件,如下所示: - - E:\demo\api>dir /B - result.xlsx - search-win.exe - -#### Mac - -方法步骤参考windows、Linux的使用方法。 - ### VS Code插件使用方法 具体的插件使用步骤,可以左键单击以下链接了解: [VS插件使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md) -### IntelliJ插件使用方法 - -具体的插件使用步骤,可以左键单击以下链接了解: - -[IntelliJ插件使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_IntelliJ_plugin/docs/INSTRUCTION_ZH.md) - diff --git a/hdc/invalid_docs/api/README_ZH.md b/hdc/invalid_docs/api/README_ZH.md new file mode 100644 index 00000000..0b9d1b1b --- /dev/null +++ b/hdc/invalid_docs/api/README_ZH.md @@ -0,0 +1,93 @@ +# API扫描工具 + +## 简介 + +本文主要介绍API扫描工具,它可以扫描三方库中包含OpenHarmony源码不包含的接口,并输出result.xlsx文档。开发者移植三方库到OpenHarmony源码中,若三方库中包含一些OpenHarmony中不存在的接口,便会增加移植难度。此时可使用API扫描工具,提前预知风险接口,降低移植难度,提高开发效率。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口。 + +更多工具的架构和实现原理详情,可以左键单击以下链接了解: + +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/docs/INSTRUCTION_ZH.md) + + ├── napi_generator # NAPI框架代码生成工具 + │ ├── ... # 其他文档 + │ ├── hdc + │ │ ├── ... # 其他工具 + │ │ ├── api # api扫描工具 + │ │ | ├── api_scan_vs_plugin # VS Code插件源码 + │ │ | ├── api_scan_IntelliJ_plugin # Intellij插件源码 + │ │ | ├── src # 工具源码 + │ │ | | ├── scan.js # 工具源码入口 + │ │ | | ├── package.json # package.json文件 + +## 约束 +系统:建议Ubuntu 20.04或者Windows 10 + +依赖版本:VS Code 1.62.0 + +## 使用方法 + +### 使用对象 + +系统开发者 + +### 使用场景 + +移植三方库到OpenHarmony前预知风险接口。 + +### 工具使用 + +工具有三种类型,分别是可执行文件、VS Code插件、IntelliJ插件。其中的可执行文件可根据工具使用者的开发环境选择,支持Windows,Linux和Mac。可执行文件、IntelliJ插件、VS Code插件下载路径如下: + +待增加链接 + +具体的工具使用步骤,可以左键单击以下链接了解: + +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/docs/INSTRUCTION_ZH.md) + +### 工具输出 + +根据使用者指定三方库项目源码,工具会输出风险接口。为了方便使用者快速上手工具,此处使用opencv项目为例,项目目录如下: + +![](./figures/opencv.png) + +在window环境下的,根据输入三方库项目,生成的输出文件result.xlsx,如下所示: + +![](./figures/opencv_result.png) + +其中生成的result.xlsx文件,风险接口如下所示: + +![](./figures/opencv_include.png) + +![](./figures/opencv_h.png) + +## 工具开发说明 + +### 对象 + +工具的开发者 + +### 开发场景 + +若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 + +### 开发步骤 + +开发者可以根据如下的步骤来完成对工具的开发: + + [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/docs/DEVELOP_ZH.md) + +## 版本说明 + +暂无 + +## FAQ + + [FAQ](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/FAQ.md) + +## 参与贡献 + +暂无 + +## 相关仓 + +暂无 diff --git a/hdc/api/docs/DEVELOP_ZH.md b/hdc/invalid_docs/api/docs/DEVELOP_ZH.md old mode 100755 new mode 100644 similarity index 91% rename from hdc/api/docs/DEVELOP_ZH.md rename to hdc/invalid_docs/api/docs/DEVELOP_ZH.md index 64f3f356..204033ff --- a/hdc/api/docs/DEVELOP_ZH.md +++ b/hdc/invalid_docs/api/docs/DEVELOP_ZH.md @@ -1,108 +1,108 @@ -# API扫描工具开发说明 - -若当前工具功能不满足开发者需求,开发者需增强工具能力,则可基于已有源码进行工具二次开发,编译打包生成自定义的可执行文件和插件。 - -## 工具开发 - -### 可执行文件开发说明 - -#### 环境说明 - -系统:建议Ubuntu 20.04或者Windows 10 - -#### 开发步骤 - -##### Linux -1.下载Andr_N_Games_api.xlsx文件,并放置在napi_generator/hdc/api/src文件夹下。 - -Andr_N_Games_api.xlsx文件暂未上传,后续会上传。 - -2.安装typescript:在napi_generator/hdc/api/src目录下执行命令: - - npm i typescript - -3.安装stdio:在napi_generator/hdc/api/src目录下执行命令: - - npm i stdio - -4.安装pkg : 在napi_generator/hdc/api/src目录下执行命令: - - sudo npm i -g pkg - -5.打包三个版本 : 在napi_generator/hdc/api/src目录下执行命令: - - pkg . - -执行以上步骤后,即可在napi_generator/hdc/api/src目录下生成Windows、linux、mac系统下的可执行程序: - - search-win.exe、search-linux、search-macos - -6.根据需求打包指定系统下的可执行文件。若想只打包windows系统下可执行文件,可执行命令: - - pkg -t node14-win . -o search-win.exe - -若想只打包linux系统下可执行文件,可执行命令: - - pkg -t node14-linux . -o search-linux - -若想只打包macos系统下可执行文件,可执行命令: - - pkg -t node14-macos . -o search-macos - -备注:参数-t为指定系统,参数-o为指定可执行文件名称。 - - -##### Windows - -1.下载Andr_N_Games_api.xlsx文件,并放置在napi_generator/hdc/api/src文件夹下。 - -Andr_N_Games_api.xlsx文件暂未上传,后续会上传。 - -2.使用管理员身份进入终端: - -![](../figures/pic_admin.png) - -3.安装typescript:使用管理员身份在napi_generator/hdc/api/src目录下执行命令: - - npm i typescript - -4.安装stdio:使用管理员身份在napi_generator/hdc/api/src目录下执行命令: - - npm i stdio - -5.安装pkg : 使用管理员身份在napi_generator/hdc/api/src目录下执行命令: - - npm i -g pkg - -6.打包三个版本 : 使用管理员身份在napi_generator/hdc/api/src目录下执行命令: - - pkg . - -执行以上步骤后,即可在napi_generator/hdc/api目录下生成Windows、linux、mac系统下的可执行程序: - - search-win.exe、search-linux、search-macos - -7.根据需求打包指定系统下的可执行文件。若想只打包windows系统下可执行文件,可执行命令: - - pkg -t node14-win . -o search-win.exe - -若想只打包linux系统下可执行文件,可执行命令: - - pkg -t node14-linux . -o search-linux - -若想只打包macos系统下可执行文件,可执行命令: - - pkg -t node14-macos . -o search-macos - -### VS插件开发说明 - -具体的插件开发步骤,可以左键单击以下链接了解: - -[VS插件开发说明](https://gitee.com/openharmony/napi_generator/blob/master/hdc/api/api_scan_vs_plugin/docs/DEVELOP_ZH.md) - -### IntelliJ插件开发说明 - -具体的插件开发步骤,可以左键单击以下链接了解: - -[IntelliJ插件开发说明](https://gitee.com/openharmony/napi_generator/blob/master/hdc/api/api_scan_IntelliJ_plugin/docs/DEVELOP_ZH.md) - +# API扫描工具开发说明 + +若当前工具功能不满足开发者需求,开发者需增强工具能力,则可基于已有源码进行工具二次开发,编译打包生成自定义的可执行文件和插件。 + +## 工具开发 + +### 可执行文件开发说明 + +#### 环境说明 + +系统:建议Ubuntu 20.04或者Windows 10 + +#### 开发步骤 + +##### Linux +1.下载Andr_N_Games_api.xlsx文件,并放置在napi_generator/hdc/api/src文件夹下,下载链接如下: + +待增加链接 + +2.安装typescript:在napi_generator/hdc/api/src目录下执行命令: + + npm i typescript + +3.安装stdio:在napi_generator/hdc/api/src目录下执行命令: + + npm i stdio + +4.安装pkg : 在napi_generator/hdc/api/src目录下执行命令: + + sudo npm i -g pkg + +5.打包三个版本 : 在napi_generator/hdc/api/src目录下执行命令: + + pkg . + +执行以上步骤后,即可在napi_generator/hdc/api/src目录下生成Windows、linux、mac系统下的可执行程序: + + search-win.exe、search-linux、search-macos + +6.根据需求打包指定系统下的可执行文件。若想只打包windows系统下可执行文件,可执行命令: + + pkg -t node14-win . -o search-win.exe + +若想只打包linux系统下可执行文件,可执行命令: + + pkg -t node14-linux . -o search-linux + +若想只打包macos系统下可执行文件,可执行命令: + + pkg -t node14-macos . -o search-macos + +备注:参数-t为指定系统,参数-o为指定可执行文件名称。 + + +##### Windows + +1.下载Andr_N_Games_api.xlsx文件,并放置在napi_generator/hdc/api/src文件夹下,下载链接如下: + +待增加链接 + +2.使用管理员身份进入终端: + +![](../figures/pic_admin.png) + +3.安装typescript:使用管理员身份在napi_generator/hdc/api/src目录下执行命令: + + npm i typescript + +4.安装stdio:使用管理员身份在napi_generator/hdc/api/src目录下执行命令: + + npm i stdio + +5.安装pkg : 使用管理员身份在napi_generator/hdc/api/src目录下执行命令: + + npm i -g pkg + +6.打包三个版本 : 使用管理员身份在napi_generator/hdc/api/src目录下执行命令: + + pkg . + +执行以上步骤后,即可在napi_generator/hdc/api目录下生成Windows、linux、mac系统下的可执行程序: + + search-win.exe、search-linux、search-macos + +7.根据需求打包指定系统下的可执行文件。若想只打包windows系统下可执行文件,可执行命令: + + pkg -t node14-win . -o search-win.exe + +若想只打包linux系统下可执行文件,可执行命令: + + pkg -t node14-linux . -o search-linux + +若想只打包macos系统下可执行文件,可执行命令: + + pkg -t node14-macos . -o search-macos + +### VS插件开发说明 + +具体的插件开发步骤,可以左键单击以下链接了解: + +[VS插件开发说明](https://gitee.com/openharmony/napi_generator/blob/master/hdc/api/api_scan_vs_plugin/docs/DEVELOP_ZH.md) + +### IntelliJ插件开发说明 + +具体的插件开发步骤,可以左键单击以下链接了解: + +[IntelliJ插件开发说明](https://gitee.com/openharmony/napi_generator/blob/master/hdc/api/api_scan_IntelliJ_plugin/docs/DEVELOP_ZH.md) + diff --git a/hdc/invalid_docs/api/docs/INSTRUCTION_ZH.md b/hdc/invalid_docs/api/docs/INSTRUCTION_ZH.md new file mode 100644 index 00000000..6c4206d5 --- /dev/null +++ b/hdc/invalid_docs/api/docs/INSTRUCTION_ZH.md @@ -0,0 +1,108 @@ +# API扫描工具使用说明 +## 简介 + +API扫描工具支持三种入口,分别是可执行程序、VS Code插件、IntelliJ插件,使用者可以根据自己的需要选择合适的工具。可执行文件、IntelliJ插件、VS Code插件下载路径如下: + +待增加链接 + +下载文件说明如下: + + │ │ |── api_scan_IntelliJ_plugin.jar # IntelliJ插件 + │ │ |── ApiScan-0.0.1.vsix # VS Code插件 + │ │ |── Andr_N_Games_api.xlsx # 风险接口 + │ │ |── search-linux # Linux可执行程序 + │ │ |── search-win.exe # Windows可执行程序 + │ │ └── search-macos # Mac可执行程序 + +## 工具介绍 + +通过API扫描工具,开发者可以扫描输出三方库中存在,而OpenHarmony源码中不存在的风险接口,移植之前预知风险,降低移植难度,提高开发效率。 + +![](./../figures/pic-api-frm.png) + +## 生成result文件 + +### 可执行程序使用方法 + +#### Linux +1、Ubuntu中存在将要扫描的三方库源码,如下所示: + + harmony@Ubuntu-64:~/service$ ls /home/harmony/linshi/ + opencv + +2、将下载的search-linux可执行程序放置任意路径下,如下所示: + + harmony@Ubuntu-64:~/service$ ls + search-linux + +3、进入到search-linux可执行程序路径下,并执行可执行程序,执行命令如下: + + harmony@Ubuntu-64:~/service$ ./search-linux -d /home/harmony/linshi/opencv/ -o ./ + { + function: Set(70) { + 'AndroidBitmap_getInfo', + ...... + 'ANativeWindow_release' + }, + include: Set(3) { 'bitmap.h', 'input.h', 'log.h' } + } + output: result.xlsx + harmony@Ubuntu-64:~/service/napi_generator_8/hdc/api/API-Scan/example$ + +其中,参数详情如下: + -d, 被扫描项目的路径; + -o, 可选参数,默认为当前路径下,输出结果存放路径。 + +4、运行成功后会在当前目录下生成result.xlsx文件,如下所示: + + harmony@Ubuntu-64:~/service$ ls + result.xlsx search-linux + +#### Windows + +1、E:\workspace\杂七杂八\service\目录下存在将要扫描的项目opencv。 + +2、将下载的search-win.exe可执行程序放置任意路径下,如下所示: + + E:\demo\api>dir /B + search-win.exe + +3、进入search-win.exe可执行程序路径下,并执行可执行程序,执行过程如下: + + E:\demo\api>search-win.exe -d E:\workspace\杂七杂八\service\opencv -o ./ + { + function: Set(70) { + 'AndroidBitmap_getInfo', + ...... + 'ANativeWindow_release' + }, + include: Set(3) { 'bitmap.h', 'input.h', 'log.h' } + } + output: result.xlsx + +其中,参数详情如下: + -d, 被扫描项目的路径 + -o, 可选参数,默认为当前路径下,输出结果存放路径。 + +4、运行成功后会在当前目录下生成result.xlsx文件,如下所示: + + E:\demo\api>dir /B + result.xlsx + search-win.exe + +#### Mac + +方法步骤参考windows、Linux的使用方法。 + +### VS Code插件使用方法 + +具体的插件使用步骤,可以左键单击以下链接了解: + +[VS插件使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md) + +### IntelliJ插件使用方法 + +具体的插件使用步骤,可以左键单击以下链接了解: + +[IntelliJ插件使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_IntelliJ_plugin/docs/INSTRUCTION_ZH.md) + diff --git a/hdc/invalid_docs/api/vs/README_zh.md b/hdc/invalid_docs/api/vs/README_zh.md new file mode 100644 index 00000000..b0546948 --- /dev/null +++ b/hdc/invalid_docs/api/vs/README_zh.md @@ -0,0 +1,85 @@ +# API扫描工具VS code插件说明 + +## 简介 + +API扫描工具,它可以根据用户给定三方库项目扫描输出风险接口以及.h头文件。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口,本文主要介绍VS Code插件使用说明。 + +## 目录 + + ├── api # API扫描工具 + │ ├── ... # 其他文件 + │ ├── api_scan_vs_plugin # VS Code插件代码 + │ │ ├── docs # VS Code插件说明 + │ │ ├── src # VS Code插件源码 + │ │ ├── package.json # package.json 文件 + │ │ └── README_zh.md # VS Code插件说明 + +## 约束 + +系统:建议Ubuntu 20.04或者Windows 10 + +依赖版本:VS Code 1.62.0 + +## 使用方法 + +### 使用对象 + +系统开发者 + +### 使用场景 + +1)移植三方库到OpenHarmony前预知风险接口或.h头文件。 + +### 工具使用 + +插件下载路径如下: + +待增加链接 + +具体的工具使用步骤,可以左键单击以下链接了解: + +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md) + +### 工具输出 + +根据使用者指定三方库项目源码,工具会输出风险接口、.h头文件。为了方便使用者快速上手工具,此处使用opencv项目为例,项目目录如下: + +![](../figures/opencv.png) + +在window环境下的,根据输入三方库项目,生成的输出文件result.xlsx,如下所示: + +![](../figures/opencv_result.png) + +其中生成的result.xlsx文件,sheet1为风险接口,如下所示: + +![](../figures/opencv_include.png) + +sheet2为风险.h头文件,如下所示: + +![](../figures/opencv_h.png) + +## 开发说明 + +### 对象 + +工具的开发者 + +### 开发场景 + +若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 + +### 开发步骤 + +开发者可以根据如下的步骤来完成对工具VS Code插件的开发: + +[工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/api_scan_vs_plugin/docs/DEVELOP_ZH.md) + +## FAQ + +对于常见问题解决方法指导如下: + +[FAQ](https://gitee.com/openharmony/napi_generator/tree/master/hdc/api/FAQ.md) + +## 相关仓 + +暂无 \ No newline at end of file diff --git a/hdc/api/api_scan_vs_plugin/docs/DEVELOP_ZH.md b/hdc/invalid_docs/api/vs/docs/DEVELOP_ZH.md old mode 100755 new mode 100644 similarity index 92% rename from hdc/api/api_scan_vs_plugin/docs/DEVELOP_ZH.md rename to hdc/invalid_docs/api/vs/docs/DEVELOP_ZH.md index 74c97d90..79c41e5b --- a/hdc/api/api_scan_vs_plugin/docs/DEVELOP_ZH.md +++ b/hdc/invalid_docs/api/vs/docs/DEVELOP_ZH.md @@ -6,9 +6,9 @@ ### Linux -1.下载search-linux可执行程序,并放置在napi_generator/hdc/api/api_scan_vs_plugin/src/目录下。 +1.下载search-linux可执行程序,并放置在napi_generator/hdc/api/api_scan_vs_plugin/src/目录下,下载链接如下: -search-linux可执行程序暂未对外发布,后续将对外发布。 +待增加链接 2.在napi_generator/hdc/api/api_scan_vs_plugin/src/目录下执行命令: @@ -42,9 +42,9 @@ search-linux可执行程序暂未对外发布,后续将对外发布。 ### Windows -1.下载search-win.exe可执行程序,并放置在napi_generator/hdc/api/api_scan_vs_plugin/src/目录下。 +1.下载search-win.exe可执行程序,并放置在napi_generator/hdc/api/api_scan_vs_plugin/src/目录下,下载链接如下: -search-win.exe可执行程序暂未对外发布,后续将对外发布。 +待增加链接 2.在napi_generator/hdc/api/api_scan_vs_plugin/src/目录下执行命令: diff --git a/hdc/invalid_docs/api/vs/docs/INSTRUCTION_ZH.md b/hdc/invalid_docs/api/vs/docs/INSTRUCTION_ZH.md new file mode 100644 index 00000000..22a9c3a5 --- /dev/null +++ b/hdc/invalid_docs/api/vs/docs/INSTRUCTION_ZH.md @@ -0,0 +1,36 @@ +# API扫描工具VSCode插件使用说明 +## 简介 + +API扫描工具目前支持三种入口,分别是可执行程序、IntelliJ插件、VS Code插件,本文主要介绍VS Code插件使用说明。VS Code插件下载路径如下: + +待增加链接 + +## VS Code插件使用方法 + +### 说明 + +visual studio code 版本需1.62.0及以上。 + +### 步骤 + +1、 打开VS Code,在左侧边栏中选择插件安装。 + +![](../../figures/pic-plug-in-search.png) + +2、 在应用商店搜索api_scan插件,再单击安装。 + +![](../../figures/pic-plug-in-select.png) + +3、 安装完成后就会在VS Code的插件管理器中能看到API Scan这个插件了。 + +![](../../figures/pic-plug-in-api.png) + +4、 选中任意文件或文件夹,单击右键,选择API Scan选项。 + +![](../../figures/pic-plug-in-api-c++.png) + +5、 工具打开API Scan窗口,扫描项目路径框填写将要扫描项目的绝对路径,结果输出路径框自动填写与扫描项目相同路径,使用者可以根据实际情况修改结果输出路径,然后点击ok。 + +![](../../figures/pic-api-frame.png) + +6、执行结束后会在结果输出路径下生成result.xlsx文件。 diff --git a/hdc/invalid_docs/service/README_ZH.md b/hdc/invalid_docs/service/README_ZH.md new file mode 100644 index 00000000..02bbe174 --- /dev/null +++ b/hdc/invalid_docs/service/README_ZH.md @@ -0,0 +1,108 @@ +# SERVICE框架生成工具 + +## 简介 + +当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系统IPC通信框架编写一套远程接口调用实现。实现Service远程调用接口需要开发人员熟悉IPC通信框架,了解proxy/stub的继承与实现方式,掌握C++类型转为MessageParcel数据包的各种API方法,有一定的学习成本。而Service代码生成工具能够帮助使用者生成框架代码,提升开发效率。用户只需提供一个定义远程方法的.h头文件,工具会自动生成整个Service框架的代码,包含Ability注册、proxy/stub类实现、MessageParcel数据包构造、Service子系统编译及开机自启动相关配置文件。目前工具支持可执行文件、VS Code插件两种入口。 + +更多工具的架构和实现原理详情,可以左键单击以下链接了解: + +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/docs/INSTRUCTION_ZH.md) + + ├── napi_generator # NAPI框架代码生成工具 + │ ├── ... # 其他文档 + │ ├── hdc + │ │ ├── ... # 其他工具 + │ │ ├── service # service框架代码生成工具 + │ │ | ├── service_vs_plugin # VS Code插件源码 + │ │ | ├── service-gen + │ │ | | ├── src + │ │ | | | ├── gen + │ │ | | | | ├── analyze.js # 解析json文件 + │ │ | | | | ├── fileTemplate.js # service框架代码文件模板 + │ │ | | | | ├── generate.js # 生成service框架 + │ │ | | | | ├── header_parser.py # 解析.h文件并输出jscon文件 + │ │ | | | | ├── main.js # 工具入口 + │ │ | | | ├── tools + │ │ | | | | ├── FileRW.js # 读写文件 + │ │ | | | | ├── NapiLog.js # 日志 + │ │ | | | | ├── common.js # 工具支持数据类型 + │ │ | | | | ├── re.js # 正则表达式转换 + │ │ | | | | ├── tool.js # 消息体校验 + +## 约束 +系统:建议Ubuntu 20.04或者Windows 10 + +依赖版本:VS Code 1.62.0 + +## 使用方法 + +### 使用对象 + +系统开发者 + +### 使用场景 + +1) 开发者为OpenHarmony系统框架开发某些功能,并将该功能包装成一个独立的服务进程运行在系统中。 + +### 工具使用 + +工具有两种类型,分别是可执行文件、VS Code插件。其中的可执行文件可根据工具使用者的开发环境选择,支持Windows,Linux和Mac。可执行文件、VS Code插件下载路径如下: + +待增加链接 + +具体的工具使用步骤,可以左键单击以下链接了解: + +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/docs/INSTRUCTION_ZH.md) + +### 工具输出 + +根据使用者指定的.h头文件,工具会输出SERVICE框架代码。为了方便使用者快速上手工具,可供测试的.h文件如下所示: + +[test.h](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/examples/test.h) + +注意:.h文件中待生成的主class必须加注释:@brief service服务,提供IPC调用接口 ,如下所示: + +``` +/** + * @brief service服务,提供IPC调用接口 + * @ServiceClass + */ +``` + +在window环境下的,根据输入.h文件生成的输出文件,如下所示: + +![](./figures/service_framework.png) + +## 工具开发说明 + +### 对象 + +工具的开发者 + +### 开发场景 + +若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 + +### 开发步骤 + +开发者可以根据如下的步骤来完成对工具的开发: + + [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/docs/DEVELOP_ZH.md) + +## 版本说明 + +[已支持特性](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/Service-1.0.md) + +[待开发特性](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/ROADMAP_ZH.md) + +## FAQ + + [FAQ](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/FAQ.md) + +## 参与贡献 + +暂无 + +## 相关仓 + +暂无 diff --git a/hdc/invalid_docs/service/docs/DEVELOP_ZH.md b/hdc/invalid_docs/service/docs/DEVELOP_ZH.md new file mode 100644 index 00000000..09f9815f --- /dev/null +++ b/hdc/invalid_docs/service/docs/DEVELOP_ZH.md @@ -0,0 +1,158 @@ +# SERVICE框架生成工具开发说明 + +若当前工具功能不满足开发者需求,开发者需增强工具能力,则可基于已有源码进行工具二次开发,编译打包生成自定义的可执行文件和插件。 + +## 工具开发 + +### 可执行文件开发说明 + +#### 环境说明 + +系统:建议Ubuntu 20.04或者Windows 10 + +#### 开发步骤 + +##### Linux + +1.安装typescript:在napi_generator/hdc/service/service-gen/src目录下执行命令: + + npm i typescript + +2.安装stdio:在napi_generator/hdc/service/service-gen目录下执行命令: + + npm i stdio + +3.安装pkg : 在napi_generator/hdc/service/service-gen目录下执行命令: + + sudo npm i -g pkg + +4.打包三个版本 : 执行命令: + + pkg . + +执行以上步骤后,即可在napi_generator/hdc/service/service-gen目录下生成Windows、linux、mac系统下的可执行程序: + + service-gen-win.exe、service-gen-linux、service-gen-macos + +5.根据需求打包指定系统下的可执行文件。若想只打包windows系统下可执行文件,可执行命令: + + pkg -t node14-win . -o service-gen-win.exe + +若想只打包linux系统下可执行文件,可执行命令: + + pkg -t node14-linux . -o service-gen-linux + +若想只打包macos系统下可执行文件,可执行命令: + + pkg -t node14-macos . -o service-gen-macos + +备注:参数-t为指定系统,参数-o为指定可执行文件名称。 + +6.编译生成 header_parser.exe + +6.1 安装python库 CppHeaderParser,在header_parser/src_code中下载CppHeaderParser.zip,解压后替换本地Python文件夹中CppHeaderParser(如 /usr/local/lib/python3.8/dist-packages/CppHeaderParser)目录下的全部文件 + +``` +sudo pip install CppHeaderParser +``` + +[下载链接1](http://ftpkaihongdigi.i234.me:5000/sharing/kBG1c7CvT) + +[下载链接2](http://ftp.kaihong.com:5000/sharing/kBG1c7CvT) + +[下载链接3](http://ftp.kaihongdigi.com:5000/sharing/kBG1c7CvT) + +6.2 安装pyinstaller + +``` +sudo pip install pyinstaller +``` + +6.3 将python脚本打包成独立可执行文件 + +进入 ./src/tsGen 目录后执行如下命令: + +``` +pyinstaller -F header_parser.py +``` + +打包后的可执行文件在dist目录中 + +``` +./src/tsGen/dist/header_parser.exe +``` + + +##### Windows + +1.安装typescript:使用管理员身份在napi_generator/hdc/service/service-gen/src目录下执行命令: + + npm i typescript + +2.安装stdio:使用管理员身份在napi_generator/hdc/service/service-gen目录下执行命令: + + npm i stdio + +3.安装pkg : 使用管理员身份在napi_generator/hdc/service/service-gen目录下执行命令: + + npm i -g pkg + +4.打包三个版本 : 使用管理员身份执行命令: + + pkg . + +执行以上步骤后,即可在napi_generator/hdc/service/service-gen目录下生成Windows、linux、mac系统下的可执行程序: + + service-gen-win.exe、service-gen-linux、service-gen-macos + +5.根据需求打包指定系统下的可执行文件。若想只打包windows系统下可执行文件,可执行命令: + + pkg -t node14-win . -o service-gen-win.exe + +若想只打包linux系统下可执行文件,可执行命令: + + pkg -t node14-linux . -o service-gen-linux + +若想只打包macos系统下可执行文件,可执行命令: + + pkg -t node14-macos . -o service-gen-macos + +6.编译生成 header_parser.exe + +6.1 安装python库 CppHeaderParser,在header_parser/src_code中下载CppHeaderParser.zip,解压后替换本地Python文件夹中CppHeaderParser(如 C:\Python310\Lib\site-packages\CppHeaderParser)目录下的全部文件 + +``` +pip install CppHeaderParser +``` + +[下载链接1](http://ftpkaihongdigi.i234.me:5000/sharing/kBG1c7CvT) + +[下载链接2](http://ftp.kaihong.com:5000/sharing/kBG1c7CvT) + +[下载链接3](http://ftp.kaihongdigi.com:5000/sharing/kBG1c7CvT) + +6.2 安装pyinstaller + +``` +pip install pyinstaller +``` + +6.3 将python脚本打包成独立可执行文件 + +进入 ./src/tsGen 目录后执行如下命令: + +``` +pyinstaller -F header_parser.py +``` + +打包后的可执行文件在dist目录中 + +``` +./src/tsGen/dist/header_parser.exe +``` + +### VS插件开发说明 + +具体的插件开发步骤,可以左键单击以下链接了解: + +[VS插件开发说明](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/service_vs_plugin/docs/DEVELOP_ZH.md) diff --git a/hdc/invalid_docs/service/docs/INSTRUCTION_ZH.md b/hdc/invalid_docs/service/docs/INSTRUCTION_ZH.md new file mode 100644 index 00000000..06aa3892 --- /dev/null +++ b/hdc/invalid_docs/service/docs/INSTRUCTION_ZH.md @@ -0,0 +1,99 @@ +# SERVICE框架生成工具使用说明 +## 简介 + +SERVICE框架生成工具支持三种入口,分别是可执行程序、VS Code插件,使用者可以根据自己的需要选择合适的工具。可执行文件、VS Code插件下载路径如下: + +待增加链接 + +下载文件说明如下: + + │ │ |── service-gen-0.0.1.vsix # VS Code插件 + │ │ |── header_parser.exe # python脚本独立程序 + │ │ |── header_parser # python脚本独立程序 + │ │ |── service-gen-linux # Linux可执行程序 + │ │ |── service-gen-win.exe # Windows可执行程序 + │ │ └── service-gen-macos # Mac可执行程序 + +## 工具介绍 + +通过SERVICE框架生成工具,使用者只需提供一个定义远程方法的.h头文件,一键生成SERVICE框架代码,主要包含Ability注册、proxy/stub类实现、MessageParcel数据包构造、Service子系统编译及开机自启动相关配置文件。 + +![](../figures/pic-service-frm.png) + +## 生成框架 + +### 可执行程序使用方法 +#### Linux + +1.下载python脚本可执行程序header_parser与linux可执行程序service-gen-linux,下载链接如下: + +待增加链接 + +2.将待转换的.h文件放到任意目录下,建议放到可执行程序service-gen-linux与header_parser同级目录下,如下所示: + + harmony@Ubuntu-64:~/service/napi_generator_8/hdc/service-gen/examples$ ls + test.h header_parser service-gen-linux + +3.在终端中进入到可执行程序service-gen-linux所在的目录,并运行service-gen-linux,命令如下: + + harmony@Ubuntu-64:~/service/napi_generator_8/hdc/service-gen/examples$ ./service-gen-linux -f test.h -o ./ -s 9016 + +其中,参数详情如下: + -f,定义远程服务的.h文件; + -l, 日志级别(0-3),默认为1; + -o, 生成框架代码输入到指定路径下; + -s, 指定serviceID。 + +4.运行成功后会在当前目录下生成对应的文件,如下所示: + + harmony@Ubuntu-64:~/service/napi_generator_8/hdc/service-gen/examples$ ls + test.h header_parser napi_gen.log service-gen-linux testservice + +#### Windows + +1.下载python脚本可执行程序header_parser.exe与windows可执行程序service-gen-win.exe,下载链接如下: + +待增加链接 + +2.将要转换的.h文件放到任意目录下,建议放到可执行程序service-gen-win.exe与header_parser.exe同级目录下,如下所示: + + E:\demo\service>dir /B + test.h + header_parser.exe + service-gen-win.exe + +3.在终端中进入到可执行程序service-gen-win.exe所在的目录,并运行service-gen-win.exe,命令如下: + + E:\demo\service>service-gen-win.exe -f test.h -o ./ -s 9016 + +其中,参数详情如下: + -f,定义远程服务的.h文件; + -l, 日志级别(0-3),默认为1; + -o,生成框架代码输入到指定路径下; + -s,指定serviceID。 + +4.运行成功后会在当前目录下生成对应的文件,如下所示: + + E:\demo\service>dir /B + test.h + header_parser.exe + napi_gen.log + service-gen-win.exe + testservice + +#### Mac + +方法步骤参考windows、Linux的使用方法。 + +### VS Code插件使用方法 + +具体的插件使用步骤,可以左键单击以下链接了解: + +[VS插件使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md) + +## 集成 + +Service框架代码生成后,系统框架开发者进行二次开发后,即可集成到OpenHarmony编译系统,生成对应的库文件,供应用开发者调用接口。工具集成到OpenHarmony的具体操作步骤可以左键单击以下链接了解: + + [工具集成](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/ENSEMBLE_METHOD_ZH.md) + diff --git a/hdc/invalid_docs/service/vs/README_zh.md b/hdc/invalid_docs/service/vs/README_zh.md new file mode 100644 index 00000000..0c7b0ee3 --- /dev/null +++ b/hdc/invalid_docs/service/vs/README_zh.md @@ -0,0 +1,86 @@ +# SERVICE框架生成工具VS code插件说明 + +## 简介 + +SERVICE框架生成工具,根据用户提供的.h头文件,工具会自动生成整个Service框架的代码。目前工具支持可执行文件、VS Code插件两种入口,本文主要介绍VS Code插件使用说明。 + +## 目录 + + ├── service # SERVICE框架生成工具 + │ ├── ... # 其他文件 + │ ├── service_vs_plugin # VS Code插件代码 + │ │ ├── docs # VS Code插件说明 + │ │ ├── src # VS Code插件源码 + │ │ ├── package.json # package.json 文件 + │ │ └── README_zh.md # VS Code插件说明 + +## 约束 + +系统:建议Ubuntu 20.04或者Windows 10 + +依赖版本:VS Code 1.62.0 + +## 使用方法 + +### 使用对象 + +系统开发者 + +### 使用场景 + +开发者为OpenHarmony系统框架开发某些功能,并将该功能包装成一个独立的服务进程运行在系统中。 + +### 工具使用 + +插件下载路径如下: + +待增加链接 + +具体的工具使用步骤,可以左键单击以下链接了解: + +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md) + +### 工具输出 + +根据使用者指定的.h头文件,工具会输出SERVICE框架代码。为了方便使用者快速上手工具,可供测试的.h文件如下所示: + +[test.h](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/examples/test.h) + +注意:.h文件中待生成的主class必须加注释:@brief service服务,提供IPC调用接口 ,如下所示: + +``` +/** + * @brief service服务,提供IPC调用接口 + * @ServiceClass + */ +``` + +在window环境下的,根据输入.h文件生成的输出文件,如下所示: + +![](../figures/service_framework.png) + +## 开发说明 + +### 对象 + +工具的开发者 + +### 开发场景 + +若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 + +### 开发步骤 + +开发者可以根据如下的步骤来完成对工具VS Code插件的开发: + +[工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/service_vs_plugin/docs/DEVELOP_ZH.md) + +## FAQ + +对于常见问题解决方法指导如下: + +[FAQ](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/FAQ.md) + +## 相关仓 + +暂无 \ No newline at end of file diff --git a/hdc/service/service_vs_plugin/docs/DEVELOP_ZH.md b/hdc/invalid_docs/service/vs/docs/DEVELOP_ZH.md old mode 100755 new mode 100644 similarity index 71% rename from hdc/service/service_vs_plugin/docs/DEVELOP_ZH.md rename to hdc/invalid_docs/service/vs/docs/DEVELOP_ZH.md index ddd69fc0..3095061f --- a/hdc/service/service_vs_plugin/docs/DEVELOP_ZH.md +++ b/hdc/invalid_docs/service/vs/docs/DEVELOP_ZH.md @@ -6,19 +6,9 @@ ### Linux -1.下载service-gen-linux可执行程序与header_parser可执行程序,并放置到到napi_generator/hdc/service/service_vs_plugin/src/目录下。 +1.下载service-gen-linux可执行程序与header_parser可执行程序,并放置到到napi_generator/hdc/service/service_vs_plugin/src/目录下,下载链接如下: -header_parser可执行程序下载链接如下(由于网络原因,可能会导致有的下载链接失效,因此提供了以下三个下载链接): - -[下载链接1](http://ftpkaihongdigi.i234.me:5000/sharing/kBG1c7CvT) - -[下载链接2](http://ftp.kaihong.com:5000/sharing/kBG1c7CvT) - -[下载链接3](http://ftp.kaihongdigi.com:5000/sharing/kBG1c7CvT) - -进入header_parser/linux目录下载header_parser。 - -service-gen-linux可执行程序暂未对外发布,后续将对外发布。 +待增加链接 2.在napi_generator/hdc/service/service_vs_plugin/src目录下执行命令: @@ -44,19 +34,9 @@ service-gen-linux可执行程序暂未对外发布,后续将对外发布。 ### Windows -1.下载service-gen-win.exe可执行程序与header_parser.exe可执行程序,并放置到到napi_generator/hdc/service/service_vs_plugin/src/目录下。 +1.下载service-gen-win.exe可执行程序与header_parser.exe可执行程序,并放置到到napi_generator/hdc/service/service_vs_plugin/src/目录下,下载链接如下: -header_parser.exe可执行程序下载链接如下(由于网络原因,可能会导致有的下载链接失效,因此提供了以下三个下载链接): - -[下载链接1](http://ftpkaihongdigi.i234.me:5000/sharing/kBG1c7CvT) - -[下载链接2](http://ftp.kaihong.com:5000/sharing/kBG1c7CvT) - -[下载链接3](http://ftp.kaihongdigi.com:5000/sharing/kBG1c7CvT) - -进入header_parser/windows目录下载header_parser.exe。 - -service-gen-win.exe可执行程序暂未对外发布,后续将对外发布。 +待增加链接 2.在napi_generator/hdc/service/service_vs_plugin/src目录下执行命令: diff --git a/hdc/invalid_docs/service/vs/docs/INSTRUCTION_ZH.md b/hdc/invalid_docs/service/vs/docs/INSTRUCTION_ZH.md new file mode 100644 index 00000000..1b78ea3b --- /dev/null +++ b/hdc/invalid_docs/service/vs/docs/INSTRUCTION_ZH.md @@ -0,0 +1,47 @@ +# SERVICE框架生成工具VSCode插件使用说明 +## 简介 + +VS Code插件下载路径如下: + +待增加链接 + +## VS Code插件使用方法 + +### 说明 + +visual studio code 版本需1.62.0及以上。 + +### 步骤 + +1、 打开VS Code,在左侧边栏中选择插件安装。 + +![](../../figures/pic-plug-in-search.png) + +2、 在应用商店搜索service-gen插件,再单击安装。 + +![](../../figures/pic-plug-in-select.png) + +3、 安装完成后就会在VS Code的插件管理器中能看到service-gen这个插件了。 + +![](../../figures/pic-plug-in-service.png) + +4、 在VS Code中找到需要转换的.h文件,如下: + +![](../../figures/pic-plug-in-select-h.png) + +5、 右键单击.h文件,选择“ Service Generate Frame”选项。 + +![](../../figures/pic-plug-in-gen-c++.png) + +6、 工具打开 Service Generate Frame窗口,.h文件选择框默认填写被操作的.h文件的绝对路径;输出路径选择框默认填写.h文件所在文件夹路径,可修改为任意路径;serviceID范围是1-16777215之间的整数,超出范围会提示错误,填入正确的serviceID,然后点击ok。 + +![](../../figures/pic-service-frame.png) + +7、 转换成功后,在输出路径下生成service框架代码文件。 + +## 集成 + +Service框架代码生成后,系统框架开发者进行二次开发后,即可集成到OpenHarmony编译系统,生成对应的库文件,供应用开发者调用接口。工具集成到OpenHarmony的具体操作步骤可以左键单击以下链接了解: + + [工具集成](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/ENSEMBLE_METHOD_ZH.md) + diff --git a/hdc/service/README_ZH.md b/hdc/service/README_ZH.md index df6257d7..5315f1ef 100755 --- a/hdc/service/README_ZH.md +++ b/hdc/service/README_ZH.md @@ -2,7 +2,11 @@ ## 简介 -当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系统IPC通信框架编写一套远程接口调用实现。实现Service远程调用接口需要开发人员熟悉IPC通信框架,了解proxy/stub的继承与实现方式,掌握C++类型转为MessageParcel数据包的各种API方法,有一定的学习成本。而Service代码生成工具能够帮助使用者生成框架代码,提升开发效率。用户只需提供一个定义远程方法的.h头文件,工具会自动生成整个Service框架的代码,包含Ability注册、proxy/stub类实现、MessageParcel数据包构造、Service子系统编译及开机自启动相关配置文件。目前工具支持可执行文件、VS Code插件两种入口。 +当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系统IPC通信框架编写一套远程接口调用实现。实现Service远程调用接口需要开发人员熟悉IPC通信框架,了解proxy/stub的继承与实现方式,掌握C++类型转为MessageParcel数据包的各种API方法,有一定的学习成本。而Service代码生成工具能够帮助使用者生成框架代码,提升开发效率。用户只需提供一个定义远程方法的.h头文件,工具会自动生成整个Service框架的代码,包含Ability注册、proxy/stub类实现、MessageParcel数据包构造、Service子系统编译及开机自启动相关配置文件。目前工具支持VS Code插件一种入口。 + +更多工具的架构和实现原理详情,可以左键单击以下链接了解: + +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/docs/INSTRUCTION_ZH.md) ├── napi_generator # NAPI框架代码生成工具 │ ├── ... # 其他文档 @@ -10,20 +14,7 @@ │ │ ├── ... # 其他工具 │ │ ├── service # service框架代码生成工具 │ │ | ├── service_vs_plugin # VS Code插件源码 - │ │ | ├── service-gen - │ │ | | ├── src - │ │ | | | ├── gen - │ │ | | | | ├── analyze.js # 解析json文件 - │ │ | | | | ├── fileTemplate.js # service框架代码文件模板 - │ │ | | | | ├── generate.js # 生成service框架 - │ │ | | | | ├── header_parser.py # 解析.h文件并输出jscon文件 - │ │ | | | | ├── main.js # 工具入口 - │ │ | | | ├── tools - │ │ | | | | ├── FileRW.js # 读写文件 - │ │ | | | | ├── NapiLog.js # 日志 - │ │ | | | | ├── common.js # 工具支持数据类型 - │ │ | | | | ├── re.js # 正则表达式转换 - │ │ | | | | ├── tool.js # 消息体校验 + │ │ | ├── ... ## 约束 系统:建议Ubuntu 20.04或者Windows 10 @@ -45,7 +36,7 @@ 具体的插件使用步骤,可以左键单击以下链接了解: -[VS插件使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md) +[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md) ### 工具输出 @@ -66,12 +57,6 @@ ![](./figures/service_framework.png) -### 工具集成 - -Service框架代码生成后,系统框架开发者进行二次开发后,即可集成到OpenHarmony编译系统,生成对应的库文件,供应用开发者调用接口。工具集成到OpenHarmony的具体操作步骤可以左键单击以下链接了解: - - [工具集成](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/ENSEMBLE_METHOD_ZH.md) - ## 工具开发说明 ### 对象 diff --git a/hdc/service/docs/DEVELOP_ZH.md b/hdc/service/docs/DEVELOP_ZH.md index fa1bdc20..81440cd6 100755 --- a/hdc/service/docs/DEVELOP_ZH.md +++ b/hdc/service/docs/DEVELOP_ZH.md @@ -150,9 +150,3 @@ pyinstaller -F header_parser.py ``` ./src/tsGen/dist/header_parser.exe ``` - -### VS插件开发说明 - -具体的插件开发步骤,可以左键单击以下链接了解: - -[VS插件开发说明](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/service_vs_plugin/docs/DEVELOP_ZH.md) \ No newline at end of file diff --git a/hdc/service/docs/INSTRUCTION_ZH.md b/hdc/service/docs/INSTRUCTION_ZH.md index 215aac97..49a6ca94 100755 --- a/hdc/service/docs/INSTRUCTION_ZH.md +++ b/hdc/service/docs/INSTRUCTION_ZH.md @@ -1,17 +1,7 @@ # SERVICE框架生成工具使用说明 ## 简介 -SERVICE框架生成工具支持两种入口,分别是可执行程序、VS Code插件,使用者可以根据自己的需要选择合适的工具。可执行文件下载路径如下: - -[下载链接](暂无) - -下载文件说明如下: - - │ │ |── header_parser.exe # python脚本独立程序 - │ │ |── header_parser # python脚本独立程序 - │ │ |── service-gen-linux # Linux可执行程序 - │ │ |── service-gen-win.exe # Windows可执行程序 - │ │ └── service-gen-macos # Mac可执行程序 +SERVICE框架生成工具支持一种入口,即VS Code插件,使用者可以根据自己的需要下载工具使用。 ## 工具介绍 @@ -21,69 +11,6 @@ SERVICE框架生成工具支持两种入口,分别是可执行程序、VS Code ## 生成框架 -### 可执行程序使用方法 -#### Linux - -1.下载python脚本可执行程序header_parser与linux可执行程序service-gen-linux,下载链接如下: - -[下载链接](暂无) - -2.将待转换的.h文件放到任意目录下,建议放到可执行程序service-gen-linux与header_parser同级目录下,如下所示: - - harmony@Ubuntu-64:~/service/napi_generator_8/hdc/service-gen/examples$ ls - test.h header_parser service-gen-linux - -3.在终端中进入到可执行程序service-gen-linux所在的目录,并运行service-gen-linux,命令如下: - - harmony@Ubuntu-64:~/service/napi_generator_8/hdc/service-gen/examples$ ./service-gen-linux -f test.h -o ./ -s 9016 - -其中,参数详情如下: - -f,定义远程服务的.h文件; - -l, 日志级别(0-3),默认为1; - -o, 生成框架代码输入到指定路径下; - -s, 指定serviceID。 - -4.运行成功后会在当前目录下生成对应的文件,如下所示: - - harmony@Ubuntu-64:~/service/napi_generator_8/hdc/service-gen/examples$ ls - test.h header_parser napi_gen.log service-gen-linux testservice - -#### Windows - -1.下载python脚本可执行程序header_parser.exe与windows可执行程序service-gen-win.exe,下载链接如下: - -[下载链接](暂无) - -2.将要转换的.h文件放到任意目录下,建议放到可执行程序service-gen-win.exe与header_parser.exe同级目录下,如下所示: - - E:\demo\service>dir /B - test.h - header_parser.exe - service-gen-win.exe - -3.在终端中进入到可执行程序service-gen-win.exe所在的目录,并运行service-gen-win.exe,命令如下: - - E:\demo\service>service-gen-win.exe -f test.h -o ./ -s 9016 - -其中,参数详情如下: - -f,定义远程服务的.h文件; - -l, 日志级别(0-3),默认为1; - -o,生成框架代码输入到指定路径下; - -s,指定serviceID。 - -4.运行成功后会在当前目录下生成对应的文件,如下所示: - - E:\demo\service>dir /B - test.h - header_parser.exe - napi_gen.log - service-gen-win.exe - testservice - -#### Mac - -方法步骤参考windows、Linux的使用方法。 - ### VS Code插件使用方法 具体的插件使用步骤,可以左键单击以下链接了解: diff --git a/hdc/service/service_vs_plugin/README_zh.md b/hdc/service/service_vs_plugin/README_zh.md index 194fdb03..24d23d85 100755 --- a/hdc/service/service_vs_plugin/README_zh.md +++ b/hdc/service/service_vs_plugin/README_zh.md @@ -2,7 +2,7 @@ ## 简介 -SERVICE框架生成工具,根据用户提供的.h头文件,工具会自动生成整个Service框架的代码。目前工具支持可执行文件、VS Code插件两种入口,本文主要介绍VS Code插件说明。 +SERVICE框架生成工具,根据用户提供的.h头文件,工具会自动生成整个Service框架的代码。目前工具支持VS Code插件一种入口,本文主要介绍VS Code插件说明。 ## 目录 @@ -57,28 +57,6 @@ SERVICE框架生成工具,根据用户提供的.h头文件,工具会自动 ![](../figures/service_framework.png) -### 工具集成 - -Service框架代码生成后,系统框架开发者进行二次开发后,即可集成到OpenHarmony编译系统,生成对应的库文件,供应用开发者调用接口。工具集成到OpenHarmony的具体操作步骤可以左键单击以下链接了解: - - [工具集成](https://gitee.com/openharmony/napi_generator/blob/master/hdc/service/docs/ENSEMBLE_METHOD_ZH.md) - -## 开发说明 - -### 对象 - -工具的开发者 - -### 开发场景 - -若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 - -### 开发步骤 - -开发者可以根据如下的步骤来完成对工具VS Code插件的开发: - -[工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/service/service_vs_plugin/docs/DEVELOP_ZH.md) - ## FAQ 对于常见问题解决方法指导如下: diff --git a/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md b/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md index 87354cac..04025822 100755 --- a/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md +++ b/hdc/service/service_vs_plugin/docs/INSTRUCTION_ZH.md @@ -1,7 +1,7 @@ # SERVICE框架生成工具VSCode插件使用说明 ## 简介 -SERVICE框架生成工具支持两种入口,分别是可执行程序、VS Code插件,使用者可以根据自己的需要选择合适的工具。本文主要介绍VS Code插件使用方法。 +SERVICE框架生成工具支持一种入口,即VS Code插件,使用者可以根据自己的需要下载工具使用。本文主要介绍VS Code插件使用方法。 ## VS Code插件使用方法