• Home
Name Date Size #Lines LOC

..--

README.mdD12-May-20243.7 KiB13280

dependence_analysis.pyD12-May-20243.7 KiB9465

file_utils.pyD12-May-20241.3 KiB4120

module_deps.pyD12-May-20242.8 KiB7950

module_deps_tree.pyD12-May-20246.1 KiB167131

part_deps.pyD12-May-20245.2 KiB147114

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