From 16b3dd9848f99c7447550c24beae8c170bbfa367 Mon Sep 17 00:00:00 2001 From: gou-jingjing Date: Wed, 17 Jul 2024 14:29:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gou-jingjing --- src/cli/cmake2gn/cmake2gn_README_ZH.md | 2 +- src/cli/dts2cpp/dts2cpp_README_ZH.md | 6 +++--- src/cli/h2dts/src/tsGen/tsMain.js | 6 +++--- src/cli/h2dtscpp/h2dtscpp_README_ZH.md | 8 ++++---- src/cli/h2dtscpp/src/src/tsGen/tsMain.js | 4 +--- src/cli/h2sa/src/src/gen/analyze.js | 4 ++-- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/cli/cmake2gn/cmake2gn_README_ZH.md b/src/cli/cmake2gn/cmake2gn_README_ZH.md index f17cb14a..e6dae6e9 100644 --- a/src/cli/cmake2gn/cmake2gn_README_ZH.md +++ b/src/cli/cmake2gn/cmake2gn_README_ZH.md @@ -36,7 +36,7 @@ Openharmony@Ubuntu-64:~/OpenHarmony/third_party/mbedtls-development$ ls npm i stdio -6.在napi_generator/src/cli/cmake2gn/src/src下执行以下命令: +6.在napi_generator/src/cli/cmake2gn/src下执行以下命令: ``` node main.js -o out/rk3568 -p /home/OpenHarmony -f third_party/mbedtls-development/CMakeLists.txt -t cmake -s test_subsystem -m mbedtls-development diff --git a/src/cli/dts2cpp/dts2cpp_README_ZH.md b/src/cli/dts2cpp/dts2cpp_README_ZH.md index 7c47b22f..974aa0bc 100644 --- a/src/cli/dts2cpp/dts2cpp_README_ZH.md +++ b/src/cli/dts2cpp/dts2cpp_README_ZH.md @@ -20,7 +20,7 @@ dts2cpp工具,它可以根据用户指定路径下的ts(typescript)接口文 npm i stdio -3.将待转换的文件@ohos.napitest.d.ts拷贝到napi_generator/src/cli/dts2cpp/src下,并在该目录下新建out目录;@ohos.napitest.d.ts如下所示: +3.将待转换的文件@ohos.napitest.d.ts拷贝到napi_generator/src/cli/dts2cpp/src/gen下,并在该目录下新建out目录;@ohos.napitest.d.ts如下所示: ``` declare namespace napitest { @@ -29,10 +29,10 @@ declare namespace napitest { export default napitest; ``` -4.在napi_generator/src/cli/dts2cpp/src下执行以下命令生成napi框架代码: +4.在napi_generator/src/cli/dts2cpp/src/gen下执行以下命令生成napi框架代码: ``` -node gen\cmd_gen.js -f @ohos.napitest.d.ts -o out +node cmd_gen.js -f @ohos.napitest.d.ts -o out ``` 其中,参数详情如下: diff --git a/src/cli/h2dts/src/tsGen/tsMain.js b/src/cli/h2dts/src/tsGen/tsMain.js index b914fc5d..af01f2c0 100644 --- a/src/cli/h2dts/src/tsGen/tsMain.js +++ b/src/cli/h2dts/src/tsGen/tsMain.js @@ -23,9 +23,9 @@ const util = require('util'); function parseFileAll(hFilePath) { let execSync = require('child_process').execSync; let cmd = ''; - if (fs.existsSync('./src/tsGen/header_parser.py')) { + if (fs.existsSync('./header_parser.py')) { // call python file (for debug test) - cmd = 'python ./src/tsGen/header_parser.py ' + hFilePath; + cmd = 'python ./header_parser.py ' + hFilePath; } else { // call exe file (for real runtime) let sysInfo = os.platform(); @@ -350,7 +350,7 @@ function doGenerate(hFilePath, destDir) { analyzeRootFunction(rootInfo, parseResult); analyzeClasses(rootInfo, parseResult); let hfileName = path.basename(hFilePath, '.h'); - let tsFilePath = re.pathJoin(destDir, '%s.d.ts'.format(hfileName)); + let tsFilePath = re.pathJoin(destDir, util.format('%s.d.ts', hfileName)); let tsContent = genTsContent(rootInfo); writeFile(tsFilePath, tsContent); } diff --git a/src/cli/h2dtscpp/h2dtscpp_README_ZH.md b/src/cli/h2dtscpp/h2dtscpp_README_ZH.md index 93e5682a..f1dce194 100644 --- a/src/cli/h2dtscpp/h2dtscpp_README_ZH.md +++ b/src/cli/h2dtscpp/h2dtscpp_README_ZH.md @@ -22,12 +22,12 @@ h2dtscpp工具由C++语法解释器和代码生成器两部分组成。C++语法 3.下载header_parser.exe文件:[header_parser.exe](https://gitee.com/openharmony/napi_generator/releases/tag/生成工具);选择 tool.rar下载并解压,将解压后的文件中的header_parser.exe拷贝到napi_generator/src/cli/h2dtscpp/src/src/tsGen目录下。 -4.将待转换的.h文件拷贝到napi_generator/src/cli/h2dtscpp/src下,如 [cJSON测试三方库](https://gitee.com/openharmony/napi_generator/releases/tag/测试用资源) 的cJSON.h。 +4.将待转换的.h文件拷贝到napi_generator/src/cli/h2dtscpp/src/src下,如 [cJSON测试三方库](https://gitee.com/openharmony/napi_generator/releases/tag/测试用资源) 的cJSON.h。 -5.在napi_generator/src/cli/h2dtscpp/src执行以下命令: +5.在napi_generator/src/cli/h2dtscpp/src/src执行以下命令: ``` -node src\main.js -f cJSON.h +node main.js -f cJSON.h ``` 其中,参数详情如下: @@ -42,7 +42,7 @@ index.d.ts文件路径; -o, 可选参数,生成的.cpp文件所在路径,默认路径为.h文件目录下创建的cppout文件夹路径; -6.执行成功后在napi_generator/src/cli/h2dtscpp/src目录下生成以下文件夹 +6.执行成功后在napi_generator/src/cli/h2dtscpp/src/src目录下生成以下文件夹 ![](./docs/figures/h2dtscpp_out_example.png) diff --git a/src/cli/h2dtscpp/src/src/tsGen/tsMain.js b/src/cli/h2dtscpp/src/src/tsGen/tsMain.js index 57dc905d..f55593fe 100644 --- a/src/cli/h2dtscpp/src/src/tsGen/tsMain.js +++ b/src/cli/h2dtscpp/src/src/tsGen/tsMain.js @@ -429,7 +429,7 @@ function genType(typeInfo, tabLv) { } function genTsContent(rootInfo, dtsDeclare) { - let tsContent = rootInfo.needCallback ? 'import { AsyncCallback, Callback } from './../basic';\n\n' : ''; + let tsContent = rootInfo.needCallback ? 'import { AsyncCallback, Callback } from \'./../basic\';\n\n' : ''; // gen typedefs tsContent += genType(rootInfo.typedefs, 0); @@ -507,8 +507,6 @@ function extractMacros(headerFilePath) { fs.readFile(headerFilePath, 'utf8', (err, data) => { if (err) { return reject(err); - } else { - return ''; } // 匹配#define指令的正则表达式 diff --git a/src/cli/h2sa/src/src/gen/analyze.js b/src/cli/h2sa/src/src/gen/analyze.js index f23e26b5..8775ef6a 100644 --- a/src/cli/h2sa/src/src/gen/analyze.js +++ b/src/cli/h2sa/src/src/gen/analyze.js @@ -21,9 +21,9 @@ const path = require('path'); function parseFileAll(hFilePath) { let execSync = require('child_process').execSync; let cmd = ''; - if (fs.existsSync('./hdc/service/service-gen/src/gen/header_parser.py')) { + if (fs.existsSync('./header_parser.py')) { // call python file (for debug test) - cmd = 'python ./hdc/service/service-gen/src/gen/header_parser.py ' + hFilePath; + cmd = 'python ./header_parser.py ' + hFilePath; } else { // call exe file (for real runtime) let sysInfo = os.platform(); -- Gitee From 96f0499e3a567f477212e769c51346a33f7a8ab9 Mon Sep 17 00:00:00 2001 From: gou-jingjing Date: Wed, 17 Jul 2024 15:10:50 +0800 Subject: [PATCH 2/2] fix codecheck Signed-off-by: gou-jingjing --- src/cli/h2dtscpp/src/src/tsGen/tsMain.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cli/h2dtscpp/src/src/tsGen/tsMain.js b/src/cli/h2dtscpp/src/src/tsGen/tsMain.js index f55593fe..5050b81b 100644 --- a/src/cli/h2dtscpp/src/src/tsGen/tsMain.js +++ b/src/cli/h2dtscpp/src/src/tsGen/tsMain.js @@ -38,9 +38,9 @@ function parseFileAll(hFilePath) { let execPath = path.dirname(process.execPath); let exeFile = sysInfo === 'win32' ? path.join(execPath, 'header_parser.exe') : path.join(execPath, 'header_parser'); - if(!fs.existsSync(exeFile)) { + if (!fs.existsSync(exeFile)) { // 若是用node执行 - exeFile = path.join(__dirname, "header_parser.exe") + exeFile = path.join(__dirname, 'header_parser.exe'); } cmd = exeFile + ' ' + hFilePath; @@ -520,7 +520,7 @@ function extractMacros(headerFilePath) { macros.push(match[1]); } - resolve(macros); + return resolve(macros); }); }); } -- Gitee