Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
README.md | D | 12-May-2024 | 3.7 KiB | 132 | 80 | |
dependence_analysis.py | D | 12-May-2024 | 3.7 KiB | 94 | 65 | |
file_utils.py | D | 12-May-2024 | 1.3 KiB | 41 | 20 | |
module_deps.py | D | 12-May-2024 | 2.8 KiB | 79 | 50 | |
module_deps_tree.py | D | 12-May-2024 | 6.1 KiB | 167 | 131 | |
part_deps.py | D | 12-May-2024 | 5.2 KiB | 147 | 114 |
README.md
1 2 3## 模块依赖分析 4 5 6 7### 生成部件依赖 8 9 10 11生成步骤: 12 131. 编译代码生成中间文件,只执行gn阶段,并打开check_deps属性 14 15 ```shell 16 ./build.sh --product-name Hi3516DV300 --ccache --gn-args pycache_enable=true --gn-args check_deps=true --build-only-gn 17 ``` 18 192. 运行依赖生成脚本 20 21 ```shell 22 # 比如在源码根目录下执行 23 build/tools/module_dependence/part_deps.py --deps-files-path out/ohos-arm-release/deps_files 24 ``` 25 263. 脚本参数说明 27 28 ``` 29 --deps-files-path # 必选 模块依赖数据文件目录,gn执行完成后输出在out/ohos-arm-release/deps_files目录下,如果不在源码目录执行,需要配置到正确的路径。 30 --graph # 可选 生成部件依赖图。使用该选项,需要安装对应的库 31 ``` 32 334. 关于依赖图的生成 34 35 如果需要生成部件依赖图,使用--graph参数指定; 36 37 本地机器需要安装依赖库:pyecharts 38 39 ``` 40 # 使用pip安装python3的依赖库 41 pip3 install pyecharts 42 43 # 如果pip3没有安装,请先安装pip3 44 sudo apt install python3-pip 45 ``` 46 475. 输出 48 49 脚本运行后会在 `--deps-files-path` 指定的deps_files的同级目录下,创建parts_deps_info文件夹输出结果数据。 50 parts_deps_info/ 51 ``` 52 parts_deps_info/all_deps_data.json # 生成的模块依赖信息 53 parts_deps_info/part_deps_info.json # 生成的部件依赖 54 parts_deps_info/part-deps-grahp.html # 生成的部件依赖图,只有指定--graph参数时才生成 55 ``` 56 57 58### 生成模块依赖 59 60 61 62生成步骤: 63 641. 编译代码生成中间文件,只执行gn阶段,并打开check_deps属性 65 66 ```shell 67 ./build.sh --product-name Hi3516DV300 --ccache --gn-args pycache_enable=true --gn-args check_deps=true --build-only-gn 68 ``` 69 702. 运行依赖生成脚本 71 72 ```shell 73 # 比如在源码根目录下执行 74 build/tools/module_dependence/module_deps.py --deps-files-path out/ohos-arm-release/deps_files 75 ``` 76 773. 脚本参数说明 78 79 ``` 80 --deps-files-path # 必选 模块依赖数据文件目录,gn执行完成后输出在out/ohos-arm-release/deps_files目录下,如果不在源码目录执行,需要配置到正确的路径。 81 ``` 82 834. 输出 84 85 脚本运行后会在 `--deps-files-path` 指定的deps_files的同级目录下,创建module_deps_info文件夹输出结果数据。 86 ``` 87 module_deps_info/all_deps_data.json # 生成的模块依赖信息 88 module_deps_info/module_deps_info.json # 生成的模块依赖 89 ``` 90 915. 生成单个模块的依赖树 92 93 (1) 依赖pyecharts组件,需要安装: 94 95 ``` 96 pip3 install pyecharts 97 ``` 98 99 (2) 生成命令: 100 101 ``` 102 # 比如在源码根目录下执行 103 build/tools/module_dependence/module_deps_tree.py --module-name 部件名:模块名 --module-deps-file out/ohos-arm-release/module_deps_info/module_deps_info.json 104 ``` 105 106 (3) 参数说明: 107 108 ``` 109 --module-name # 必选 要生成模块的名称,结构为"部件名:模块名" 110 --module-deps-file # 必选 模块依赖信息文件module_deps_info.json所在路径 111 ``` 112 113 (4) 输出: 114 115 脚本运行后会在module_deps_info.json的同级目录下输出模块依赖树图 116 117 ``` 118 module_deps_info/部件名__模块名.html 119 ``` 120 121 用浏览器打开这个文件,会展示模块依赖树,默认展开第一层依赖。 122 123 实心点表示一个模块还有未展开的其它模块依赖,点击实心点可以展开它的依赖。 124 125 一个模块第一次出现时显示为黑色,之后出现显示为红色。 126 127 128 129 130**注意:** 131*工具能力在完善中,使用脚本和步骤会随时变化。* 132