diff --git a/build-tools/capi_parser/src/typedef/check/check.py b/build-tools/capi_parser/src/typedef/check/check.py index 0f78875d37354e1af45c546d15d0ebaf1e9db118..834e31d4e3abb95bf0bab2c0f9a900e7c36379c0 100644 --- a/build-tools/capi_parser/src/typedef/check/check.py +++ b/build-tools/capi_parser/src/typedef/check/check.py @@ -89,24 +89,24 @@ class ErrorMessage(enum.Enum): REPEAT_FILE_TAG = 'the [$$] tag is repeat. Please check the tag in file' ERROR_INFO_VALUE_TAG = 'the [$$] tag value is incorrect. Please check the usage method' ERROR_INFO_VALUE_LIBRARY = 'the [library] tag value is incorrect. This tag must be end with .so or .a, \ - or is NA. Please check the usage method' +or is NA. Please check the usage method' ERROR_INFO_VALUE_PARAM = 'the value of the [$$] [param] tag is incorrect. Please check if it matches \ - the [$$] parameter name' +the [$$] parameter name' ERROR_INFO_COUNT_PARAM = 'the count of the [param] tag is wrong. Please check the parameters and Doc' ERROR_INFO_VALUE_PERMISSION = 'the [permission] tag value is incorrect. Please check if the permission \ - field has been configured or update the configuration file' +field has been configured or update the configuration file' ERROR_INFO_VALUE_SINCE = 'the [since] tag value is incorrect. Please check if the tag value is a numerical value' ERROR_INFO_VALUE_SYSCAP = 'the [syscap] tag value is incorrect. Please check if the syscap field is configured' ERROR_USE_LEFT_BRACE = 'the validity verification of the Doc tag failed. The [{] tag is not allowed to used \ - in Doc which not has addtogroup tag, or used in the wrong place.' +in Doc which not has addtogroup tag, or used in the wrong place.' ERROR_REPEAT_LEFT_BRACE = 'the validity verification of the Doc tag failed. The [{] tag is not allowed to \ - reuse in Doc which has addtogroup tag.' +reuse in Doc which has addtogroup tag.' ERROR_USE_RIGHT_BRACE = 'the validity verification of the JSDoc tag failed. The [}] tag is not allowed to \ - be reused please delete the extra tags.' +be reused please delete the extra tags.' ERROR_FILE_HAS_ONE_LOSE_OTHER = 'the file has the $$, but do not has the $$.' ERROR_FILE_LOSE_ONE = 'the file missing $$' FUNCTION_DECL = 'Function naming should use the big hump naming style or beginning with OH/OS,and \ - using "_" segmentation.' +using "_" segmentation.' STRUCT_DECL = 'Structure type naming should use the big hump naming style.' ENUM_DECL = 'Enum type naming should use the big hump naming style.' UNION_DECL = 'Consortium type naming should use the big hump naming style.' @@ -115,11 +115,11 @@ class ErrorMessage(enum.Enum): MACRO_PARAMETERS_TYPE_NAMING_ERROR = 'Macro parameters naming should use the small hump naming style.' FIELD_DECL = 'Fields in the structure naming should use the small hump naming style.' MEMBERS_OF_THE_CONSORTIUM_TYPE_NAMING_ERROR = 'Members of the consortium naming should use the \ - small hump naming style.' +small hump naming style.' MACRO_DEFINITION = 'Macro naming should use all uppercase, separated by underscores naming style.' ENUM_CONSTANT_DECL = 'Enum value naming should use all uppercase, separated by underscores naming style.' GOTO_LABEL_TYPE_NAMING_ERROR = 'Goto label value naming should use all uppercase, separated by \ - underscores naming style.' +underscores naming style.' GLOBAL_VARIABLE_TYPE_NAMING_ERROR = 'Global variable should increase "g_" prefix.' TRANSLATION_UNIT = 'File naming should be all lowercase, separated by underscores.' diff --git a/build-tools/capi_parser/src/typedef/diff/diff.py b/build-tools/capi_parser/src/typedef/diff/diff.py index 8b94d8beb97731e2f5990ce83d35d2e322b69ba6..fa5bf48c699060dd3603535271efea963ceeb383 100644 --- a/build-tools/capi_parser/src/typedef/diff/diff.py +++ b/build-tools/capi_parser/src/typedef/diff/diff.py @@ -43,89 +43,115 @@ class TAGS(enum.Enum): class DiffType(enum.Enum): DEFAULT = '' - ADD_API = '新增api' - REDUCE_API = '删除api' - ADD_DOC = '新增doc' - REDUCE_DOC = '删除doc' - ADD_DOC_TAG = '添加doc标签' - REDUCE_DOC_TAG = '删除doc标签' - FUNCTION_PARAM_POS_CHANGE = '修改函数参数位置' # 我觉得可以理解为函数参数类型改变 - - DEFINE_NAME_CHANGE = '宏名改变' - DEFINE_TEXT_CHANGE = '宏文本改变' - - FUNCTION_NAME_CHANGE = '函数名改变' - FUNCTION_RETURN_CHANGE = '函数返回类型改变' - FUNCTION_PARAM_NAME_CHANGE = '函数参数名改变' # 这个我觉得不考虑 - FUNCTION_PARAM_TYPE_CHANGE = '函数参数类型改变' - FUNCTION_PARAM_ADD = '添加函数参数' - FUNCTION_PARAM_REDUCE = '删除函数参数' - - STRUCT_NAME_CHANGE = '结构体名改变' - STRUCT_MEMBER_NAME_CHANGE = '结构体成员名改变' - STRUCT_MEMBER_TYPE_CHANGE = '结构体成员类型改变' - STRUCT_MEMBER_ADD = '添加结构体成员' - STRUCT_MEMBER_REDUCE = '删除结构体成员' - - UNION_NAME_CHANGE = '联合体名改变' - UNION_MEMBER_NAME_CHANGE = '联合体成员名改变' - UNION_MEMBER_TYPE_CHANGE = '联合体成员类型改变' - UNION_MEMBER_ADD = '添加联合体成员' - UNION_MEMBER_REDUCE = '删除联合体成员' - - ENUM_NAME_CHANGE = '枚举名改变' - ENUM_MEMBER_NAME_CHANGE = '枚举成员名改变' - ENUM_MEMBER_VALUE_CHANGE = '枚举成员值改变' - ENUM_MEMBER_ADD = '添加枚举成员' - ENUM_MEMBER_REDUCE = '删除枚举成员' - - VARIABLE_NAME_CHANGE = '变量名改变' - VARIABLE_TYPE_CHANGE = '变量类型改变' - VARIABLE_VALUE_CHANGE = '变量值的改变' - - CONSTANT_NAME_CHANGE = '常量名改变' - CONSTANT_TYPE_CHANGE = '常量类型改变' - CONSTANT_VALUE_CHANGE = '常量值的改变' - - TYPEDEF_NAME_TYPE_CHANGE = '重命名类型和命名改变' - - DOC_TAG_ADDTOGROUP_NA_TO_HAVE = '新增addtogroup标签' - DOC_TAG_ADDTOGROUP_HAVE_TO_NA = '删除addtogroup标签' - DOC_TAG_ADDTOGROUP_A_TO_B = '修改addtogroup标签' - DOC_TAG_BRIEF_NA_TO_HAVE = '新增brief标签' - DOC_TAG_BRIEF_HAVE_TO_NA = '删除brief标签' - DOC_TAG_BRIEF_A_TO_B = '修改brief标签' - DOC_TAG_DEPRECATED_NA_TO_HAVE = '接口变更为废弃' - DOC_TAG_DEPRECATED_HAVE_TO_NA = '废弃接口变更为不废弃' - DOC_TAG_DEPRECATED_A_TO_B = '接口废弃版本发生变化' - DOC_TAG_FILE_NA_TO_HAVE = '新增file标签' - DOC_TAG_FILE_HAVE_TO_NA = '删除file标签' - DOC_TAG_FILE_A_TO_B = '修改file标签' - DOC_TAG_LIBRARY_NA_TO_HAVE = '新增library' - DOC_TAG_LIBRARY_HAVE_TO_NA = '删除library' - DOC_TAG_LIBRARY_A_TO_B = '变更library' - DOC_TAG_PARAM_NA_TO_HAVE = '新增param标签' - DOC_TAG_PARAM_HAVE_TO_NA = '删除param标签' - DOC_TAG_PARAM_NAME_A_TO_B = '修改param标签描述信息' - DOC_TAG_PARAM_A_TO_B = '修改param标签描述信息' - DOC_TAG_PERMISSION_NA_TO_HAVE = '权限从无到有' - DOC_TAG_PERMISSION_HAVE_TO_NA = '权限从有到无' - DOC_TAG_PERMISSION_RANGE_BIGGER = '增加or或减少and权限' - DOC_TAG_PERMISSION_RANGE_SMALLER = '减少or或增加and权限' - DOC_TAG_PERMISSION_RANGE_CHANGE = '权限发送改变无法判断范围变化' - DOC_TAG_SINCE_NA_TO_HAVE = '新增since标签' - DOC_TAG_SINCE_HAVE_TO_NA = '删除since标签' - DOC_TAG_SINCE_A_TO_B = '修改since标签' - DOC_TAG_SYSCAP_NA_TO_HAVE = '从没有syscap到有syscap' - DOC_TAG_SYSCAP_HAVE_TO_NA = '从有syscap到没有syscap' - DOC_TAG_SYSCAP_A_TO_B = 'syscap发生改变' - DOC_TAG_LEFT_BRACE_NA_TO_HAVE = '新增左括号' - DOC_TAG_LEFT_BRACE_HAVE_TO_NA = '删除左括号' - DOC_TAG_RIGHT_BRACE_NA_TO_HAVE = '新增右括号' - DOC_TAG_RIGHT_BRACE_HAVE_TO_NA = '删除右括号' - - -compatible_list = [DiffType.FUNCTION_PARAM_NAME_CHANGE] + ADD_API = 'add api' + REDUCE_API = 'delete api' + ADD_DOC = 'add doc' + REDUCE_DOC = 'delete doc' + ADD_DOC_TAG = 'add doc tag' + REDUCE_DOC_TAG = 'delete doc tag' + FUNCTION_PARAM_POS_CHANGE = 'change param site in function' # 我觉得可以理解为函数参数类型改变 + + DEFINE_NAME_CHANGE = 'change define name' + DEFINE_TEXT_CHANGE = 'change define text' + + FUNCTION_NAME_CHANGE = 'change function name' + FUNCTION_RETURN_CHANGE = 'change function return value' + FUNCTION_PARAM_NAME_CHANGE = 'change param name in function' # 这个我觉得不考虑 + FUNCTION_PARAM_TYPE_CHANGE = 'change param type in function' + FUNCTION_PARAM_ADD = 'add param in function' + FUNCTION_PARAM_REDUCE = 'delete param in function' + + STRUCT_NAME_CHANGE = 'change struct name' + STRUCT_MEMBER_NAME_CHANGE = 'change member name in struct' + STRUCT_MEMBER_TYPE_CHANGE = 'change member type in struct' + STRUCT_MEMBER_ADD = 'add member in struct' + STRUCT_MEMBER_REDUCE = 'delete member in struct' + + UNION_NAME_CHANGE = 'change union name' + UNION_MEMBER_NAME_CHANGE = 'change member name in union' + UNION_MEMBER_TYPE_CHANGE = 'change member type in union' + UNION_MEMBER_ADD = 'add member in union' + UNION_MEMBER_REDUCE = 'delete member in union' + + ENUM_NAME_CHANGE = 'change enum name' + ENUM_MEMBER_NAME_CHANGE = 'change member name in enum' + ENUM_MEMBER_VALUE_CHANGE = 'change member value in enum' + ENUM_MEMBER_ADD = 'add member in enum' + ENUM_MEMBER_REDUCE = 'delete member in enum' + + VARIABLE_NAME_CHANGE = 'change variable name' + VARIABLE_TYPE_CHANGE = 'change variable type' + VARIABLE_VALUE_CHANGE = 'change variable value' + + CONSTANT_NAME_CHANGE = 'change constant name' + CONSTANT_TYPE_CHANGE = 'change constant type' + CONSTANT_VALUE_CHANGE = 'change constant value' + + TYPEDEF_NAME_TYPE_CHANGE = 'change typedef name type' + + DOC_TAG_ADDTOGROUP_NA_TO_HAVE = 'add addtogroup tag' + DOC_TAG_ADDTOGROUP_HAVE_TO_NA = 'delete addtogroup tag' + DOC_TAG_ADDTOGROUP_A_TO_B = 'change addtogroup tag' + DOC_TAG_BRIEF_NA_TO_HAVE = 'add brief tag' + DOC_TAG_BRIEF_HAVE_TO_NA = 'delete brief tag' + DOC_TAG_BRIEF_A_TO_B = 'change brief tag' + DOC_TAG_DEPRECATED_NA_TO_HAVE = 'add deprecated tag' + DOC_TAG_DEPRECATED_HAVE_TO_NA = 'delete deprecated tag' + DOC_TAG_DEPRECATED_A_TO_B = 'change deprecated tag' + DOC_TAG_FILE_NA_TO_HAVE = 'add file tag' + DOC_TAG_FILE_HAVE_TO_NA = 'delete file tag' + DOC_TAG_FILE_A_TO_B = 'change file tag' + DOC_TAG_LIBRARY_NA_TO_HAVE = 'add library tag' + DOC_TAG_LIBRARY_HAVE_TO_NA = 'delete library tag' + DOC_TAG_LIBRARY_A_TO_B = 'change library tag' + DOC_TAG_PARAM_NA_TO_HAVE = 'add param tag' + DOC_TAG_PARAM_HAVE_TO_NA = 'delete param tag' + DOC_TAG_PARAM_NAME_A_TO_B = 'change param tag name' + DOC_TAG_PARAM_A_TO_B = 'change param tag value' + DOC_TAG_PERMISSION_NA_TO_HAVE = 'add permission tag' + DOC_TAG_PERMISSION_HAVE_TO_NA = 'delete permission tag' + DOC_TAG_PERMISSION_RANGE_BIGGER = 'increased permissions, ex: add "or" or remove "and"' + DOC_TAG_PERMISSION_RANGE_SMALLER = 'reduced permissions, ex: add "and" or remove "or"' + DOC_TAG_PERMISSION_RANGE_CHANGE = 'change permissions, before not included after and after not included before' + DOC_TAG_SINCE_NA_TO_HAVE = 'add since tag' + DOC_TAG_SINCE_HAVE_TO_NA = 'delete since tag' + DOC_TAG_SINCE_A_TO_B = 'change since tag' + DOC_TAG_SYSCAP_NA_TO_HAVE = 'add syscap tag' + DOC_TAG_SYSCAP_HAVE_TO_NA = 'delete syscap tag' + DOC_TAG_SYSCAP_A_TO_B = 'change syscap tag' + DOC_TAG_LEFT_BRACE_NA_TO_HAVE = 'add { tag' + DOC_TAG_LEFT_BRACE_HAVE_TO_NA = 'delete { tag' + DOC_TAG_RIGHT_BRACE_NA_TO_HAVE = 'add } tag' + DOC_TAG_RIGHT_BRACE_HAVE_TO_NA = 'delete } tag' + + +compatible_list = [ + DiffType.ADD_API, + DiffType.ADD_DOC, + DiffType.ADD_DOC_TAG, + DiffType.FUNCTION_PARAM_NAME_CHANGE, + DiffType.DOC_TAG_ADDTOGROUP_NA_TO_HAVE, + DiffType.DOC_TAG_ADDTOGROUP_HAVE_TO_NA, + DiffType.DOC_TAG_ADDTOGROUP_A_TO_B, + DiffType.DOC_TAG_BRIEF_NA_TO_HAVE, + DiffType.DOC_TAG_BRIEF_HAVE_TO_NA, + DiffType.DOC_TAG_BRIEF_A_TO_B, + DiffType.DOC_TAG_DEPRECATED_NA_TO_HAVE, + DiffType.DOC_TAG_DEPRECATED_HAVE_TO_NA, + DiffType.DOC_TAG_DEPRECATED_A_TO_B, + DiffType.DOC_TAG_FILE_NA_TO_HAVE, + DiffType.DOC_TAG_FILE_HAVE_TO_NA, + DiffType.DOC_TAG_FILE_A_TO_B, + DiffType.DOC_TAG_PARAM_A_TO_B, + DiffType.DOC_TAG_PERMISSION_HAVE_TO_NA, + DiffType.DOC_TAG_PERMISSION_RANGE_BIGGER, + DiffType.DOC_TAG_SINCE_NA_TO_HAVE, + DiffType.DOC_TAG_SINCE_A_TO_B, + DiffType.DOC_TAG_LEFT_BRACE_NA_TO_HAVE, + DiffType.DOC_TAG_LEFT_BRACE_HAVE_TO_NA, + DiffType.DOC_TAG_RIGHT_BRACE_NA_TO_HAVE, + DiffType.DOC_TAG_RIGHT_BRACE_HAVE_TO_NA, +] class DiffInfo: