• Home
Name Date Size #Lines LOC

..--

README.mdD07-Sep-20242 KiB6953

components_deps_analyzer.pyD07-Sep-20248.9 KiB196166

README.md

1# components_deps_analyzer.py
2
3## 功能介绍
4
5基于vendor下的config.json、xml文件中的开源部件集、BUILD.gn文件,分析是否存在对闭源部件的依赖以及是否存在对非必选部件的无条件依赖。
6
7结果以json格式进行存储。
8
9## 支持产品
10
11config.json文件主要是关于rk3568系列,已测试产品包括rk3568、rk3568_mini_system、pc_mini_system、tablet_mini_system、phone_mini_system的config.json文件
12
13## 使用说明
14
15前置条件:
16
171. 获取BUILD.gn文件
181. 获取包含开源部件集的xml文件
191. 获取包含部件集定义的config.json文件
201. 获取BUILD.gn文件对应的name
21
22命令介绍:
23
241. `-h`或`--help`命令查看帮助
25   ```shell
26   > python components_deps_analyzer.py --help
27   usage: components_deps_analyzer.py [-h] -p COMPONENTS_GN_PATH_LIST -g GN_NAME -c CONFIG_PATH -o OPEN_COMPONENT_XML_PATH [-r RESULT_JSON_NAME]
28
29   analyze components deps.
30
31   optional arguments:
32     -h, --help            show this help message and exit
33     -p COMPONENTS_GN_PATH_LIST, --components_gn_path_list COMPONENTS_GN_PATH_LIST
34                           path of pr BUILD.gn
35     -g GN_NAME, --gn_name GN_NAME
36                           gn file corresponding name
37     -c CONFIG_PATH, --config_path CONFIG_PATH
38                           path of config_file
39     -o OPEN_COMPONENT_XML_PATH, --open_component_xml_path OPEN_COMPONENT_XML_PATH
40                           open component name set
41     -r RESULT_JSON_NAME, --result_json_name RESULT_JSON_NAME
42                           name of output_json
43
44
45   ```
461. 使用示例
47   ```shell
48   python components_deps_analyzer.py -p BUILD.gn,pkgs/BUILD.gn -g third_party_curl,third_party_zlib -c config_path -o .\gn_xml\ohos.xml
49   ```
50
51## 输出格式介绍(result.json)
52
53```
54[
55    {
56        "file_path": BUILD.gn文件路径,
57        "error": [
58            {
59                "line": 行号,
60                "code": 行号对应代码,
61                "rule": 触发规则,
62                "detail": 详细说明
63            },
64            ...
65        ]
66    },
67    ...
68]
69```