From 6d4ce6bb58fbcfe9857a1e1670678bcb05037bd2 Mon Sep 17 00:00:00 2001 From: fanjiaojiao Date: Mon, 12 Dec 2022 15:03:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?api=5Fcheck=E5=B7=A5=E5=85=B7=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0permission=E7=99=BD=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fanjiaojiao --- api/@ohos.ability.ability.d.ts | 2 +- api/@ohos.ability.dataUriUtils.d.ts | 2 +- .../api_check_plugin/src/api_check_plugin.js | 5 +---- .../api_check_plugin/src/check_permission.js | 17 ++++++++++++++++- .../api_check_plugin/src/compile_info.js | 4 ++-- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/api/@ohos.ability.ability.d.ts b/api/@ohos.ability.ability.d.ts index dde2908026..caddbb8cb3 100644 --- a/api/@ohos.ability.ability.d.ts +++ b/api/@ohos.ability.ability.d.ts @@ -22,7 +22,7 @@ import { ConnectOptions as _ConnectOptions } from './ability/connectOptions'; import { StartAbilityParameter as _StartAbilityParameter } from './ability/startAbilityParameter'; /** - * The class of an ability. + * The class of an aaaability. * * @since 9 * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore diff --git a/api/@ohos.ability.dataUriUtils.d.ts b/api/@ohos.ability.dataUriUtils.d.ts index b50f58b643..efa030fe3d 100644 --- a/api/@ohos.ability.dataUriUtils.d.ts +++ b/api/@ohos.ability.dataUriUtils.d.ts @@ -17,7 +17,7 @@ * A utility class used for handling objects that use the DataAbilityHelper scheme. * @name dataUriUtils * @since 7 - * @syscap SystemCapability.Ability.AbilityRuntime.Core + * @syscap SystemCapability.Abilitysss.AbilityRuntime.Core * @permission N/A * @deprecated since 9 * @useinstead @ohos.app.ability.dataUriUtils.d.ts diff --git a/build-tools/api_check_plugin/src/api_check_plugin.js b/build-tools/api_check_plugin/src/api_check_plugin.js index 59320d052e..dec697fee1 100644 --- a/build-tools/api_check_plugin/src/api_check_plugin.js +++ b/build-tools/api_check_plugin/src/api_check_plugin.js @@ -18,7 +18,6 @@ const fs = require("fs"); const ts = require(path.resolve(__dirname, "../node_modules/typescript")); const { checkAPIDecorators } = require("./check_decorator"); const { checkSpelling } = require("./check_spelling"); -const { checkAPINameOfHump } = require("./check_hump"); const { checkPermission } = require("./check_permission"); const { checkSyscap } = require('./check_syscap'); const { checkDeprecated } = require('./check_deprecated'); @@ -83,8 +82,6 @@ function checkAllNode(node, sourcefile, fileName) { if (ts.isIdentifier(node)) { // check variable spelling checkSpelling(node, sourcefile, fileName); - // check hump naming - // checkAPINameOfHump(node, sourcefile, fileName); } node.getChildren().forEach((item) => checkAllNode(item, sourcefile, fileName)); } @@ -92,7 +89,7 @@ function checkAllNode(node, sourcefile, fileName) { function scanEntry(url) { // scan entry checkAPICodeStyle(url); - result.scanResult.push("api_check: true"); + result.scanResult.push(`api_check: ${ApiCheckResult.format_check_result}`); return result.scanResult; } exports.scanEntry = scanEntry; diff --git a/build-tools/api_check_plugin/src/check_permission.js b/build-tools/api_check_plugin/src/check_permission.js index 09174a0464..a5fa3faaec 100644 --- a/build-tools/api_check_plugin/src/check_permission.js +++ b/build-tools/api_check_plugin/src/check_permission.js @@ -13,11 +13,23 @@ * limitations under the License. */ +const fs = require('fs'); const { getAPINote, ErrorType, ErrorLevel, FileType } = require('./utils'); const { addAPICheckErrorLogs } = require('./compile_info'); +const permissionCheckWhitelist = new Set(["@ohos.wifi.d.ts", "@ohos.wifiManager.d.ts"]) + function checkPermission(node, sourcefile, fileName) { const permissionTags = []; + const permissionFilesPath = path.resolve(__dirname, '../../../../../', + "base/global/system_resources/systemres/main/config.json"); + const content = fs.readFileSync(permissionFilesPath, 'utf-8'); + const permissionFileContent = JSON.parse(content); + const permissionTagsObj = permissionFileContent.module.definePermissions; + permissionTagsObj.forEach((item) => { + permissionTags.push(item.name); + }) + const permissionRuleSet = new Set(permissionTags); const apiNote = getAPINote(node); const apiNoteArr = apiNote.split('*'); @@ -54,9 +66,12 @@ function checkPermission(node, sourcefile, fileName) { } }); - if (hasPermissionError) { + if (hasPermissionError && !permissionCheckWhitelist.has(path.basename(fileName))) { addAPICheckErrorLogs(node, sourcefile, fileName, ErrorType.UNKNOW_PERMISSION, errorInfo, FileType.API, ErrorLevel.MIDDLE); + } else if (hasPermissionError && permissionCheckWhitelist.has(path.basename(fileName))) { + addAPICheckErrorLogs(node, sourcefile, fileName, ErrorType.UNKNOW_PERMISSION, errorInfo, FileType.API, + ErrorLevel.LOW); } } exports.checkPermission = checkPermission; \ No newline at end of file diff --git a/build-tools/api_check_plugin/src/compile_info.js b/build-tools/api_check_plugin/src/compile_info.js index 003fee83d6..ac64b26c26 100644 --- a/build-tools/api_check_plugin/src/compile_info.js +++ b/build-tools/api_check_plugin/src/compile_info.js @@ -44,7 +44,7 @@ function addAPICheckErrorLogs(node, sourcefile, fileName, errorType, errorInfo, } const posOfNode = sourcefile.getLineAndCharacterOfPosition(node.pos); const errorMessage = `API check error of [${errorType}] in ${fileName}(line:${posOfNode.line + 1}, col:` + - `${posOfNode.character + 1}): ${errorInfo}`; + `${posOfNode.character + 1}): ${errorInfo}~~${info1}~~${info2}~~${info3}~~${info4}~~${info5}`; const scanResultSet = new Set(result.scanResult); scanResultSet.add(errorMessage); result.scanResult = [...scanResultSet]; @@ -53,7 +53,7 @@ function addAPICheckErrorLogs(node, sourcefile, fileName, errorType, errorInfo, errorType: errorType, fileName: `${fileName}(line: ${posOfNode.line + 1}, col: ${posOfNode.character + 1})`, type: type, - errorInfo: `${errorInfo}~~${info1}~~${info2}~~${info3}~~${info4}~~${info5}`, + errorInfo: errorInfo, version: getApiInfo(node).version, basename: path.basename(fileName).replace(/\.d\.ts/g, ""), level: level -- Gitee From 35f5b8f8749503106146baf9ee7e7bf917d0627a Mon Sep 17 00:00:00 2001 From: fanjiaojiao Date: Mon, 12 Dec 2022 12:04:34 +0000 Subject: [PATCH 2/2] update build-tools/api_check_plugin/src/check_permission.js. Signed-off-by: fanjiaojiao --- build-tools/api_check_plugin/src/check_permission.js | 1 + 1 file changed, 1 insertion(+) diff --git a/build-tools/api_check_plugin/src/check_permission.js b/build-tools/api_check_plugin/src/check_permission.js index a5fa3faaec..6a4ef4e51b 100644 --- a/build-tools/api_check_plugin/src/check_permission.js +++ b/build-tools/api_check_plugin/src/check_permission.js @@ -14,6 +14,7 @@ */ const fs = require('fs'); +const path = require('path'); const { getAPINote, ErrorType, ErrorLevel, FileType } = require('./utils'); const { addAPICheckErrorLogs } = require('./compile_info'); -- Gitee