openubmc-bingo 0.5.240__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of openubmc-bingo might be problematic. Click here for more details.

Files changed (242) hide show
  1. bmcgo/__init__.py +12 -0
  2. bmcgo/bmcgo.py +22 -0
  3. bmcgo/bmcgo_config.py +176 -0
  4. bmcgo/cli/__init__.py +10 -0
  5. bmcgo/cli/cli.py +584 -0
  6. bmcgo/codegen/__init__.py +14 -0
  7. bmcgo/codegen/c/__init__.py +9 -0
  8. bmcgo/codegen/c/annotation.py +52 -0
  9. bmcgo/codegen/c/argument.py +42 -0
  10. bmcgo/codegen/c/codegen.py +153 -0
  11. bmcgo/codegen/c/comment.py +22 -0
  12. bmcgo/codegen/c/ctype_defination.py +353 -0
  13. bmcgo/codegen/c/helper.py +87 -0
  14. bmcgo/codegen/c/interface.py +63 -0
  15. bmcgo/codegen/c/method.py +82 -0
  16. bmcgo/codegen/c/property.py +180 -0
  17. bmcgo/codegen/c/renderer.py +21 -0
  18. bmcgo/codegen/c/signal.py +64 -0
  19. bmcgo/codegen/c/template/client.c.mako +145 -0
  20. bmcgo/codegen/c/template/client.h.mako +36 -0
  21. bmcgo/codegen/c/template/interface.c.mako +0 -0
  22. bmcgo/codegen/c/template/interface.introspect.xml.mako +99 -0
  23. bmcgo/codegen/c/template/micro_component.c.mako +32 -0
  24. bmcgo/codegen/c/template/public.c.mako +228 -0
  25. bmcgo/codegen/c/template/public.h.mako +128 -0
  26. bmcgo/codegen/c/template/server.c.mako +104 -0
  27. bmcgo/codegen/c/template/server.h.mako +36 -0
  28. bmcgo/codegen/lua/.lua-format +7 -0
  29. bmcgo/codegen/lua/Makefile +101 -0
  30. bmcgo/codegen/lua/__init__.py +9 -0
  31. bmcgo/codegen/lua/codegen.py +171 -0
  32. bmcgo/codegen/lua/proto/Makefile +87 -0
  33. bmcgo/codegen/lua/proto/ipmi_types.proto +17 -0
  34. bmcgo/codegen/lua/proto/types.proto +52 -0
  35. bmcgo/codegen/lua/script/check_intfs.py +161 -0
  36. bmcgo/codegen/lua/script/dto/__init__.py +11 -0
  37. bmcgo/codegen/lua/script/dto/exception.py +53 -0
  38. bmcgo/codegen/lua/script/dto/kepler_abstract.py +47 -0
  39. bmcgo/codegen/lua/script/dto/options.py +33 -0
  40. bmcgo/codegen/lua/script/dto/print_simple.py +19 -0
  41. bmcgo/codegen/lua/script/dto/redfish_api.py +241 -0
  42. bmcgo/codegen/lua/script/dto/url_route.py +195 -0
  43. bmcgo/codegen/lua/script/gen_db_json.py +444 -0
  44. bmcgo/codegen/lua/script/gen_depends.py +89 -0
  45. bmcgo/codegen/lua/script/gen_entry.py +263 -0
  46. bmcgo/codegen/lua/script/gen_feature_json.py +156 -0
  47. bmcgo/codegen/lua/script/gen_historical_local_db_json.py +88 -0
  48. bmcgo/codegen/lua/script/gen_intf_json.py +261 -0
  49. bmcgo/codegen/lua/script/gen_intf_rpc_json.py +575 -0
  50. bmcgo/codegen/lua/script/gen_ipmi_json.py +485 -0
  51. bmcgo/codegen/lua/script/gen_mdb_json.py +117 -0
  52. bmcgo/codegen/lua/script/gen_rpc_msg_json.py +487 -0
  53. bmcgo/codegen/lua/script/gen_schema.py +302 -0
  54. bmcgo/codegen/lua/script/ipmi_types_pb2.py +135 -0
  55. bmcgo/codegen/lua/script/loader/__init__.py +11 -0
  56. bmcgo/codegen/lua/script/loader/file_utils.py +33 -0
  57. bmcgo/codegen/lua/script/loader/kepler_abstract_collect.py +79 -0
  58. bmcgo/codegen/lua/script/loader/kepler_abstract_loader.py +47 -0
  59. bmcgo/codegen/lua/script/loader/redfish_loader.py +127 -0
  60. bmcgo/codegen/lua/script/lua_format.py +62 -0
  61. bmcgo/codegen/lua/script/mds_util.py +385 -0
  62. bmcgo/codegen/lua/script/merge_model.py +330 -0
  63. bmcgo/codegen/lua/script/merge_proto_algo.py +85 -0
  64. bmcgo/codegen/lua/script/proto_loader.py +47 -0
  65. bmcgo/codegen/lua/script/proto_plugin.py +140 -0
  66. bmcgo/codegen/lua/script/redfish_source_tree.py +118 -0
  67. bmcgo/codegen/lua/script/render_utils/__init__.py +38 -0
  68. bmcgo/codegen/lua/script/render_utils/base.py +25 -0
  69. bmcgo/codegen/lua/script/render_utils/client_lua.py +98 -0
  70. bmcgo/codegen/lua/script/render_utils/controller_lua.py +71 -0
  71. bmcgo/codegen/lua/script/render_utils/db_lua.py +224 -0
  72. bmcgo/codegen/lua/script/render_utils/error_lua.py +185 -0
  73. bmcgo/codegen/lua/script/render_utils/factory.py +52 -0
  74. bmcgo/codegen/lua/script/render_utils/ipmi_lua.py +159 -0
  75. bmcgo/codegen/lua/script/render_utils/ipmi_message_lua.py +24 -0
  76. bmcgo/codegen/lua/script/render_utils/mdb_lua.py +177 -0
  77. bmcgo/codegen/lua/script/render_utils/mdb_register.py +215 -0
  78. bmcgo/codegen/lua/script/render_utils/message_lua.py +26 -0
  79. bmcgo/codegen/lua/script/render_utils/messages_lua.py +156 -0
  80. bmcgo/codegen/lua/script/render_utils/model_lua.py +485 -0
  81. bmcgo/codegen/lua/script/render_utils/old_model_lua.py +429 -0
  82. bmcgo/codegen/lua/script/render_utils/plugin_lua.py +38 -0
  83. bmcgo/codegen/lua/script/render_utils/redfish_proto.py +86 -0
  84. bmcgo/codegen/lua/script/render_utils/request_lua.py +76 -0
  85. bmcgo/codegen/lua/script/render_utils/service_lua.py +130 -0
  86. bmcgo/codegen/lua/script/render_utils/utils_message_lua.py +125 -0
  87. bmcgo/codegen/lua/script/render_utils/validate_lua.py +221 -0
  88. bmcgo/codegen/lua/script/sep_ipmi_message_cmds.py +217 -0
  89. bmcgo/codegen/lua/script/template.py +166 -0
  90. bmcgo/codegen/lua/script/types_pb2.py +516 -0
  91. bmcgo/codegen/lua/script/utils.py +663 -0
  92. bmcgo/codegen/lua/script/validate.py +80 -0
  93. bmcgo/codegen/lua/script/yaml_to_json.py +73 -0
  94. bmcgo/codegen/lua/templates/Makefile +114 -0
  95. bmcgo/codegen/lua/templates/apps/Makefile +261 -0
  96. bmcgo/codegen/lua/templates/apps/Makefile.mdb.mk +64 -0
  97. bmcgo/codegen/lua/templates/apps/app.lua.mako +19 -0
  98. bmcgo/codegen/lua/templates/apps/class.lua.mako +35 -0
  99. bmcgo/codegen/lua/templates/apps/client.lua.mako +429 -0
  100. bmcgo/codegen/lua/templates/apps/controller.lua.mako +276 -0
  101. bmcgo/codegen/lua/templates/apps/datas.lua.mako +8 -0
  102. bmcgo/codegen/lua/templates/apps/db.lua.mako +89 -0
  103. bmcgo/codegen/lua/templates/apps/entry.lua.mako +128 -0
  104. bmcgo/codegen/lua/templates/apps/feature.lua.mako +37 -0
  105. bmcgo/codegen/lua/templates/apps/generate_route.mako +25 -0
  106. bmcgo/codegen/lua/templates/apps/impl_feature.lua.mako +72 -0
  107. bmcgo/codegen/lua/templates/apps/ipmi.lua.mako +97 -0
  108. bmcgo/codegen/lua/templates/apps/ipmi_cmd.lua.mako +18 -0
  109. bmcgo/codegen/lua/templates/apps/ipmi_message.lua.mako +36 -0
  110. bmcgo/codegen/lua/templates/apps/local_db.lua.mako +263 -0
  111. bmcgo/codegen/lua/templates/apps/main.lua.mako +25 -0
  112. bmcgo/codegen/lua/templates/apps/mc.lua.mako +77 -0
  113. bmcgo/codegen/lua/templates/apps/mdb.lua.mako +45 -0
  114. bmcgo/codegen/lua/templates/apps/mdb_interface.lua.mako +73 -0
  115. bmcgo/codegen/lua/templates/apps/message.lua.mako +38 -0
  116. bmcgo/codegen/lua/templates/apps/model.lua.mako +239 -0
  117. bmcgo/codegen/lua/templates/apps/orm_classes.lua.mako +16 -0
  118. bmcgo/codegen/lua/templates/apps/plugin.lua.mako +8 -0
  119. bmcgo/codegen/lua/templates/apps/redfish.proto.mako +47 -0
  120. bmcgo/codegen/lua/templates/apps/service.lua.mako +440 -0
  121. bmcgo/codegen/lua/templates/apps/signal_listen.lua.mako +19 -0
  122. bmcgo/codegen/lua/templates/apps/utils/default_intf.lua.mako +41 -0
  123. bmcgo/codegen/lua/templates/apps/utils/enum.mako +10 -0
  124. bmcgo/codegen/lua/templates/apps/utils/imports.mako +13 -0
  125. bmcgo/codegen/lua/templates/apps/utils/mdb_intf.lua.mako +25 -0
  126. bmcgo/codegen/lua/templates/apps/utils/mdb_obj.lua.mako +23 -0
  127. bmcgo/codegen/lua/templates/apps/utils/message.mako +160 -0
  128. bmcgo/codegen/lua/templates/apps/utils/request.lua.mako +59 -0
  129. bmcgo/codegen/lua/templates/apps/utils/validate.mako +83 -0
  130. bmcgo/codegen/lua/templates/errors.lua.mako +36 -0
  131. bmcgo/codegen/lua/templates/messages.lua.mako +32 -0
  132. bmcgo/codegen/lua/templates/new_app/.clang-format.mako +170 -0
  133. bmcgo/codegen/lua/templates/new_app/.gitignore.mako +26 -0
  134. bmcgo/codegen/lua/templates/new_app/CHANGELOG.md.mako +0 -0
  135. bmcgo/codegen/lua/templates/new_app/CMakeLists.txt.mako +29 -0
  136. bmcgo/codegen/lua/templates/new_app/Makefile.mako +25 -0
  137. bmcgo/codegen/lua/templates/new_app/README.md.mako +0 -0
  138. bmcgo/codegen/lua/templates/new_app/conanfile.py.mako +7 -0
  139. bmcgo/codegen/lua/templates/new_app/config.cfg.mako +6 -0
  140. bmcgo/codegen/lua/templates/new_app/mds/model.json.mako +3 -0
  141. bmcgo/codegen/lua/templates/new_app/mds/service.json.mako +21 -0
  142. bmcgo/codegen/lua/templates/new_app/permissions.ini.mako +16 -0
  143. bmcgo/codegen/lua/templates/new_app/src/lualib/${project_name}_app.lua.mako +16 -0
  144. bmcgo/codegen/lua/templates/new_app/src/service/main.lua.mako +25 -0
  145. bmcgo/codegen/lua/templates/new_app/test/integration/test_${project_name}.conf.mako +9 -0
  146. bmcgo/codegen/lua/templates/new_app/test/integration/test_${project_name}.lua.mako +47 -0
  147. bmcgo/codegen/lua/templates/new_app/test/unit/test.lua.mako +23 -0
  148. bmcgo/codegen/lua/templates/new_app/user_conf/rootfs/etc/systemd/system/${project_name}.service.mako +18 -0
  149. bmcgo/codegen/lua/templates/new_app/user_conf/rootfs/etc/systemd/system/multi-user.target.wants/${project_name}.service.link +1 -0
  150. bmcgo/component/__init__.py +10 -0
  151. bmcgo/component/analysis/analysis.py +183 -0
  152. bmcgo/component/analysis/build_deps.py +165 -0
  153. bmcgo/component/analysis/data_deps.py +333 -0
  154. bmcgo/component/analysis/dep-rules.json +912 -0
  155. bmcgo/component/analysis/dep_node.py +110 -0
  156. bmcgo/component/analysis/intf_deps.py +163 -0
  157. bmcgo/component/analysis/intf_validation.py +254 -0
  158. bmcgo/component/analysis/rule.py +211 -0
  159. bmcgo/component/analysis/smc_dfx_whitelist.json +11 -0
  160. bmcgo/component/analysis/sr_validation.py +391 -0
  161. bmcgo/component/build.py +222 -0
  162. bmcgo/component/component_dt_version_parse.py +348 -0
  163. bmcgo/component/component_helper.py +114 -0
  164. bmcgo/component/coverage/__init__.py +11 -0
  165. bmcgo/component/coverage/c_incremental_cov_report.template +53 -0
  166. bmcgo/component/coverage/incremental_cov.py +464 -0
  167. bmcgo/component/deploy.py +110 -0
  168. bmcgo/component/gen.py +169 -0
  169. bmcgo/component/package_info.py +236 -0
  170. bmcgo/component/template/conanbase.py.mako +278 -0
  171. bmcgo/component/template/conanfile.deploy.py.mako +40 -0
  172. bmcgo/component/test.py +947 -0
  173. bmcgo/errors.py +119 -0
  174. bmcgo/frame.py +217 -0
  175. bmcgo/functional/__init__.py +10 -0
  176. bmcgo/functional/analysis.py +96 -0
  177. bmcgo/functional/bmc_studio_action.py +98 -0
  178. bmcgo/functional/check.py +185 -0
  179. bmcgo/functional/conan_index_build.py +251 -0
  180. bmcgo/functional/config.py +332 -0
  181. bmcgo/functional/csr_build.py +724 -0
  182. bmcgo/functional/deploy.py +263 -0
  183. bmcgo/functional/diff.py +235 -0
  184. bmcgo/functional/fetch.py +235 -0
  185. bmcgo/functional/full_component.py +391 -0
  186. bmcgo/functional/maintain.py +381 -0
  187. bmcgo/functional/new.py +166 -0
  188. bmcgo/functional/schema_valid.py +111 -0
  189. bmcgo/functional/simple_sign.py +104 -0
  190. bmcgo/functional/upgrade.py +78 -0
  191. bmcgo/ipmigen/__init__.py +13 -0
  192. bmcgo/ipmigen/ctype_defination.py +82 -0
  193. bmcgo/ipmigen/ipmigen.py +309 -0
  194. bmcgo/ipmigen/template/cmd.c.mako +366 -0
  195. bmcgo/ipmigen/template/ipmi.c.mako +25 -0
  196. bmcgo/ipmigen/template/ipmi.h.mako +51 -0
  197. bmcgo/logger.py +176 -0
  198. bmcgo/misc.py +117 -0
  199. bmcgo/target/app.yml +17 -0
  200. bmcgo/target/install_sdk.yml +15 -0
  201. bmcgo/target/personal.yml +53 -0
  202. bmcgo/target/publish.yml +45 -0
  203. bmcgo/tasks/__init__.py +11 -0
  204. bmcgo/tasks/download_buildtools_hm.py +124 -0
  205. bmcgo/tasks/misc.py +15 -0
  206. bmcgo/tasks/task.py +354 -0
  207. bmcgo/tasks/task_build_conan.py +714 -0
  208. bmcgo/tasks/task_build_rootfs_img.py +595 -0
  209. bmcgo/tasks/task_buildgppbin.py +88 -0
  210. bmcgo/tasks/task_buildhpm_ext4.py +82 -0
  211. bmcgo/tasks/task_create_interface_config.py +122 -0
  212. bmcgo/tasks/task_download_buildtools.py +99 -0
  213. bmcgo/tasks/task_download_dependency.py +72 -0
  214. bmcgo/tasks/task_hpm_envir_prepare.py +112 -0
  215. bmcgo/tasks/task_packet_to_supporte.py +87 -0
  216. bmcgo/tasks/task_prepare.py +105 -0
  217. bmcgo/tasks/task_sign_and_pack_hpm.py +42 -0
  218. bmcgo/utils/__init__.py +10 -0
  219. bmcgo/utils/buffer.py +128 -0
  220. bmcgo/utils/combine_json_schemas.py +170 -0
  221. bmcgo/utils/component_post.py +54 -0
  222. bmcgo/utils/component_version_check.py +86 -0
  223. bmcgo/utils/config.py +1067 -0
  224. bmcgo/utils/fetch_component_code.py +232 -0
  225. bmcgo/utils/install_manager.py +61 -0
  226. bmcgo/utils/installations/__init__.py +10 -0
  227. bmcgo/utils/installations/base_installer.py +70 -0
  228. bmcgo/utils/installations/install_consts.py +30 -0
  229. bmcgo/utils/installations/install_plans/bingo.yml +11 -0
  230. bmcgo/utils/installations/install_workflow.py +50 -0
  231. bmcgo/utils/installations/installers/apt_installer.py +177 -0
  232. bmcgo/utils/installations/installers/pip_installer.py +46 -0
  233. bmcgo/utils/installations/version_util.py +100 -0
  234. bmcgo/utils/mapping_config_patch.py +443 -0
  235. bmcgo/utils/perf_analysis.py +114 -0
  236. bmcgo/utils/tools.py +704 -0
  237. bmcgo/worker.py +417 -0
  238. openubmc_bingo-0.5.240.dist-info/METADATA +30 -0
  239. openubmc_bingo-0.5.240.dist-info/RECORD +242 -0
  240. openubmc_bingo-0.5.240.dist-info/WHEEL +5 -0
  241. openubmc_bingo-0.5.240.dist-info/entry_points.txt +2 -0
  242. openubmc_bingo-0.5.240.dist-info/top_level.txt +1 -0
@@ -0,0 +1,912 @@
1
+ {
2
+ "Version": "0.0.44",
3
+ "Description": "此文件对iBMCV3子系统与子系统、组件与组件的依赖关系约束进行了描述, 只有子系统架构师/领域专家才能修改",
4
+ "Subsystems": {
5
+ "opensource" : {
6
+ "Apps": [
7
+ "lldpd",
8
+ "ntp",
9
+ "nginx",
10
+ "skynet",
11
+ "openssh",
12
+ "NTP_-_The_Network_Time_Protocol",
13
+ "Linux_Kernel"
14
+ ],
15
+ "Libraries": [
16
+ "curl",
17
+ "Cyrus_SASL",
18
+ "Editline_Library_-_libedit",
19
+ "json-c",
20
+ "libssh2",
21
+ "libjpeg",
22
+ "muparser",
23
+ "net-snmp",
24
+ "openldap",
25
+ "openssl",
26
+ "pcre",
27
+ "skynet",
28
+ "sqlite3",
29
+ "Signature_Verify_CBB_Library",
30
+ "boost",
31
+ "luajit"
32
+ ]
33
+ },
34
+
35
+ "public" : {
36
+ "Libraries": [
37
+ "kmc",
38
+ "huawei_secure_c",
39
+ "hisec_tls",
40
+ "vpp",
41
+ "dftframeforlua",
42
+ "SiteAI",
43
+ "SiteData",
44
+ "Histack",
45
+ "json",
46
+ "Computing_Component_RAID",
47
+ "storelib",
48
+ "storelibir3",
49
+ "storelibit",
50
+ "storagecore"
51
+ ],
52
+ "Tools": [
53
+ "meta_template"
54
+ ],
55
+ "Apps": [
56
+ "secbox"
57
+ ],
58
+ "Configurations" : [
59
+ "mdb_interface",
60
+ "vpd",
61
+ "TaiShanServer2.9.0_CSR",
62
+ "TaiShanServer2.10.0_CSR",
63
+ "TianGong_AI_CSR",
64
+ "TS900-K2_5.0.0_CSR",
65
+ "TaiShan_900_K3_3.1.0_CSR",
66
+ "SDI_CSR",
67
+ "AtlasT_200_CSR",
68
+ "TaiShan_9000_CSR",
69
+ "rackmount",
70
+ "Kunpeng_products",
71
+ "Ascend_products"
72
+ ]
73
+ },
74
+
75
+ "framework": {
76
+ "Level": 1,
77
+ "Apps": [
78
+ "hica",
79
+ "maca",
80
+ "mdb_mgmt",
81
+ "soctrl",
82
+ "persistence",
83
+ "key_mgmt",
84
+ "hwdiscovery",
85
+ "hwproxy"
86
+ ],
87
+ "Libraries": [
88
+ "persistence",
89
+ "key_mgmt",
90
+ "libmc4lua",
91
+ "libsoc_adapter",
92
+ "runtime_accessor",
93
+ "libdata_mapper",
94
+ "libmdbc",
95
+ "libmcc",
96
+ "libmgmt_protocol",
97
+ "libkvs"
98
+ ],
99
+ "Configurations": [
100
+ "rootfs_user"
101
+ ],
102
+ "Commands" : [
103
+ "mdbctl"
104
+ ]
105
+ },
106
+
107
+ "bmc_core": {
108
+ "Level": 2,
109
+ "Apps": [
110
+ "event",
111
+ "sensor",
112
+ "bmc_time",
113
+ "bmc_upgrade",
114
+ "bmc_health",
115
+ "host_agent",
116
+ "ipmi_core",
117
+ "fructrl",
118
+ "frudata",
119
+ "bmc_network",
120
+ "firmware_mgmt",
121
+ "file_transfer",
122
+ "ai_engine"
123
+ ],
124
+ "Libraries": [
125
+ "libproto-mc4c"
126
+ ]
127
+ },
128
+
129
+ "security" : {
130
+ "Level": 3,
131
+ "Apps": [
132
+ "iam",
133
+ "account",
134
+ "trust",
135
+ "capability_proxy",
136
+ "capability_agent",
137
+ "certificate",
138
+ "hisec_ict_ne",
139
+ "tpcm"
140
+ ],
141
+ "Libraries": [
142
+ "libiam"
143
+ ]
144
+ },
145
+
146
+ "hardware" : {
147
+ "Level": 4,
148
+ "Apps": [
149
+ "compute",
150
+ "bios",
151
+ "mctpd",
152
+ "pcie_device",
153
+ "network_adapter",
154
+ "storage",
155
+ "power_mgmt",
156
+ "thermal_mgmt",
157
+ "general_hardware",
158
+ "bmc_soc",
159
+ "chassis",
160
+ "manufacture",
161
+ "lsw"
162
+ ],
163
+ "Libraries": [
164
+ "mctpd",
165
+ "lsw_8363",
166
+ "lsw_sf2507"
167
+ ]
168
+ },
169
+
170
+ "ras" : {
171
+ "Level": 4,
172
+ "Apps": [
173
+ "fault_diagnosis",
174
+ "metric_analyzer"
175
+ ],
176
+ "Libraries" : [
177
+ ]
178
+ },
179
+
180
+ "energy" : {
181
+ "Level": 4,
182
+ "Apps": [
183
+ "cooling",
184
+ "power_strategy"
185
+ ],
186
+ "Libraries" : [
187
+ "libenergy"
188
+ ]
189
+ },
190
+
191
+ "om" : {
192
+ "Level": 4,
193
+ "Apps": [
194
+ "oms",
195
+ "nsm",
196
+ "ums",
197
+ "ddns",
198
+ "event_policy",
199
+ "ssdp",
200
+ "license",
201
+ "remote_console",
202
+ "product_mgmt",
203
+ "usb_entry"
204
+ ],
205
+ "Libraries": [
206
+ "adaptive_lm",
207
+ "lcurl",
208
+ "lsnmp"
209
+ ]
210
+ },
211
+
212
+ "interface" : {
213
+ "Level": 5,
214
+ "Apps" : [
215
+ "redfish",
216
+ "web_backend",
217
+ "webui",
218
+ "help",
219
+ "rmcpd",
220
+ "cli",
221
+ "snmp",
222
+ "profile_schema",
223
+ "critical_rest",
224
+ "java_irc"
225
+ ],
226
+ "Libraries": [
227
+ "libroute_mapper",
228
+ "opendesign"
229
+ ]
230
+ },
231
+
232
+ "product_extension" : {
233
+ "Level": 6,
234
+ "Apps" :[
235
+ "hpc_mgmt",
236
+ "ascend_feature_patch",
237
+ "kunpeng_feature_patch"
238
+ ],
239
+ "Libraries": []
240
+ },
241
+
242
+ "customer_extension" : {
243
+ "Level": 7,
244
+ "Apps" :[
245
+ "Alibaba",
246
+ "Baidu",
247
+ "ByteDance",
248
+ "CMCC",
249
+ "CTCC",
250
+ "CUCC",
251
+ "Kwai",
252
+ "JD",
253
+ "Meituan",
254
+ "Tencent"
255
+ ],
256
+ "Libraries": []
257
+ }
258
+ },
259
+
260
+ "Allowed": {
261
+ "description": "1、SubsystemDeps描述的是子系统和子系统之间允许的依赖, 包括运行时接口依赖和构建时库依赖; 2、IntfDeps表示子系统内组件允许的运行时接口依赖;3、BuildDeps表示组件类型允许的构建依赖",
262
+ "SubsystemDeps" : [
263
+ {"from": "framework", "to": "opensource"},
264
+ {"from": "bmc_core", "to": "opensource"},
265
+ {"from": "security", "to": "opensource"},
266
+ {"from": "hardware", "to": "opensource"},
267
+ {"from": "ras", "to": "opensource"},
268
+ {"from": "energy", "to": "opensource"},
269
+ {"from": "om", "to": "opensource"},
270
+ {"from": "interface", "to": "opensource"},
271
+ {"from": "product_extension", "to": "opensource"},
272
+ {"from": "customer_extension", "to": "opensource"},
273
+
274
+ {"from": "public", "to": "public"},
275
+ {"from": "framework", "to": "public"},
276
+ {"from": "bmc_core", "to": "public"},
277
+ {"from": "security", "to": "public"},
278
+ {"from": "hardware", "to": "public"},
279
+ {"from": "ras", "to": "public"},
280
+ {"from": "energy", "to": "public"},
281
+ {"from": "om", "to": "public"},
282
+ {"from": "interface", "to": "public"},
283
+ {"from": "product_extension", "to": "public"},
284
+ {"from": "customer_extension", "to": "public"},
285
+
286
+ {"from": "framework", "to": "framework"},
287
+ {"from": "bmc_core", "to": "framework"},
288
+ {"from": "security", "to": "framework"},
289
+ {"from": "hardware", "to": "framework"},
290
+ {"from": "ras", "to": "framework"},
291
+ {"from": "energy", "to": "framework"},
292
+ {"from": "om", "to": "framework"},
293
+ {"from": "interface", "to": "framework"},
294
+ {"from": "product_extension", "to": "framework"},
295
+ {"from": "customer_extension", "to": "framework"},
296
+
297
+ {"from": "bmc_core", "to": "bmc_core"},
298
+ {"from": "security", "to": "bmc_core"},
299
+ {"from": "hardware", "to": "bmc_core"},
300
+ {"from": "ras", "to": "bmc_core"},
301
+ {"from": "energy", "to": "bmc_core"},
302
+ {"from": "om", "to": "bmc_core"},
303
+ {"from": "interface", "to": "bmc_core"},
304
+ {"from": "product_extension", "to": "bmc_core"},
305
+ {"from": "customer_extension", "to": "bmc_core"},
306
+
307
+ {"from": "security", "to": "security"},
308
+ {"from": "hardware", "to": "security"},
309
+ {"from": "ras", "to": "security"},
310
+ {"from": "energy", "to": "security"},
311
+ {"from": "om", "to": "security"},
312
+ {"from": "interface", "to": "security"},
313
+ {"from": "product_extension", "to": "security"},
314
+ {"from": "customer_extension", "to": "security"},
315
+
316
+ {"from": "hardware", "to": "hardware"},
317
+ {"from": "ras", "to": "hardware"},
318
+ {"from": "energy", "to": "hardware"},
319
+ {"from": "interface", "to": "hardware"},
320
+ {"from": "product_extension", "to": "hardware"},
321
+ {"from": "customer_extension", "to": "hardware"},
322
+
323
+ {"from": "ras", "to": "ras"},
324
+ {"from": "interface", "to": "ras"},
325
+ {"from": "product_extension", "to": "ras"},
326
+ {"from": "customer_extension", "to": "ras"},
327
+
328
+ {"from": "energy", "to": "energy"},
329
+ {"from": "interface", "to": "energy"},
330
+ {"from": "product_extension", "to": "energy"},
331
+ {"from": "customer_extension", "to": "energy"},
332
+
333
+ {"from": "om", "to": "om"},
334
+ {"from": "interface", "to": "om"},
335
+ {"from": "product_extension", "to": "om"},
336
+ {"from": "customer_extension", "to": "om"},
337
+
338
+ {"from": "interface", "to": "interface"},
339
+
340
+ {"from": "product_extension", "to": "product_extension"},
341
+ {"from": "customer_extension", "to": "product_extension"}
342
+ ],
343
+ "IntfDeps": [
344
+ {
345
+ "framework" : [
346
+ {"from": "persistence", "to": "mdb_mgmt"},
347
+ {"from": "key_mgmt", "to": "mdb_mgmt"},
348
+ {"from": "hwdiscovery", "to": "mdb_mgmt"},
349
+ {"from": "hwproxy", "to": "mdb_mgmt"},
350
+
351
+ {"from": "persistence", "to": "soctrl"},
352
+ {"from": "key_mgmt", "to": "soctrl"},
353
+
354
+ {"from": "key_mgmt", "to": "persistence"},
355
+ {"from": "hwdiscovery", "to": "persistence"},
356
+
357
+ {"from": "hwdiscovery", "to": "hwproxy"}
358
+ ]
359
+ },
360
+ {
361
+ "bmc_core": [
362
+ {"from": "event", "to": "frudata"},
363
+ {"from": "event", "to": "fructrl"},
364
+ {"from": "event", "to": "ipmi_core"},
365
+
366
+ {"from": "sensor", "to": "fructrl"},
367
+ {"from": "sensor", "to": "ipmi_core"},
368
+
369
+ {"from": "bmc_network", "to": "ipmi_core"},
370
+ {"from": "bmc_time", "to": "ipmi_core"},
371
+ {"from": "bmc_health", "to": "ipmi_core"},
372
+
373
+ {"from": "bmc_upgrade", "to": "ipmi_core"},
374
+ {"from": "bmc_upgrade", "to": "firmware_mgmt"},
375
+
376
+ {"from": "fructrl", "to": "ipmi_core"},
377
+
378
+ {"from": "frudata", "to": "ipmi_core"},
379
+ {"from": "frudata", "to": "firmware_mgmt"},
380
+
381
+ {"from": "ai_engine", "to": "firmware_mgmt"},
382
+
383
+ {"from": "firmware_mgmt", "to": "ipmi_core"},
384
+ {"from": "firmware_mgmt", "to": "file_transfer"}
385
+ ]
386
+ },
387
+ {
388
+ "security": [
389
+ {"from": "iam", "to": "trust"},
390
+ {"from": "trust", "to": "hisec"}
391
+ ]
392
+ },
393
+ {
394
+ "hardware": [
395
+ {"from": "compute", "to": "bios"},
396
+
397
+ {"from": "mctpd", "to": "compute"},
398
+
399
+ {"from": "network_adapter", "to": "mctpd"},
400
+ {"from": "network_adapter", "to": "compute"},
401
+ {"from": "network_adapter", "to": "pcie_device"},
402
+
403
+ {"from": "storage", "to": "mctpd"},
404
+ {"from": "storage", "to": "pcie_device"},
405
+
406
+ {"from": "chassis", "to": "compute"},
407
+ {"from": "chassis", "to": "power_mgmt"},
408
+ {"from": "chassis", "to": "thermal_mgmt"},
409
+ {"from": "chassis", "to": "storage"},
410
+ {"from": "chassis", "to": "network_adapter"},
411
+
412
+ {"from": "general_hardware", "to": "bmc_soc"},
413
+
414
+ {"from": "manufacture", "to": "compute"},
415
+ {"from": "manufacture", "to": "network_adapter"},
416
+ {"from": "manufacture", "to": "storage"},
417
+ {"from": "manufacture", "to": "general_hardware"},
418
+ {"from": "manufacture", "to": "bmc_soc"},
419
+ {"from": "manufacture", "to": "chassis"},
420
+ {"from": "manufacture", "to": "power_mgmt"},
421
+ {"from": "manufacture", "to": "thermal_mgmt"},
422
+ {"from": "manufacture", "to": "bios"}
423
+ ]
424
+ },
425
+ {
426
+ "ras": [
427
+ {"from": "metric_analyzer", "to": "fault_diagnosis"},
428
+ {"from": "metric_analyzer", "to": "ai_engine"},
429
+ {"from": "fault_diagnosis", "to": "ai_engine"}
430
+ ]
431
+ },
432
+ {
433
+ "energy": [
434
+ ]
435
+ },
436
+ {
437
+ "om": [
438
+ {"from": "product_mgmt", "to": "nsm"},
439
+ {"from": "product_mgmt", "to": "oms"},
440
+
441
+ {"from": "usb_entry", "to": "oms"},
442
+
443
+ {"from": "oms", "to": "nsm"},
444
+ {"from": "oms", "to": "ddns"},
445
+ {"from": "oms", "to": "ssdp"},
446
+ {"from": "oms", "to": "license"},
447
+ {"from": "oms", "to": "remote_console"},
448
+
449
+ {"from": "remote_console", "to": "nsm"},
450
+ {"from": "ssdp", "to": "nsm"}
451
+ ]
452
+ },
453
+ {
454
+ "interface": [
455
+ ]
456
+ }
457
+ ],
458
+ "BuildDeps": [
459
+ {"from": "App", "to": "Library"},
460
+ {"from": "App", "to": "Tool"},
461
+ {"from": "App", "to": "Configuration"},
462
+ {"from": "Command", "to": "App"},
463
+ {"from": "Command", "to": "Library"},
464
+ {"from": "Command", "to": "Configuration"},
465
+ {"from": "Command", "to": "Tool"},
466
+ {"from": "Library", "to": "Library"},
467
+ {"from": "Library", "to": "Configuration"}
468
+ ]
469
+ },
470
+
471
+ "UnAllowed": {
472
+ "description": "1、SubsystemDeps描述的是子系统和子系统之间不允许的依赖(主要是特例), 包括运行时接口依赖和构建时库依赖;2、IntfDeps表示子系统内组件不允许的运行时接口依赖(主要是特例);3、BuildDeps表示组件类型不允许的构建依赖",
473
+ "SubsystemDeps" : [
474
+ {
475
+ "from": "framework",
476
+ "to": "bmc_core",
477
+ "except" : {
478
+ "tag": "Interface",
479
+ "op": "oneOf",
480
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
481
+ }
482
+ },
483
+ {
484
+ "from": "framework",
485
+ "to": "security",
486
+ "except" : {
487
+ "tag": "Interface",
488
+ "op": "oneOf",
489
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
490
+ }
491
+ },
492
+ {
493
+ "from": "framework",
494
+ "to": "hardware",
495
+ "except" : {
496
+ "tag": "Interface",
497
+ "op": "oneOf",
498
+ "value" : [
499
+ "bmc.kepler.MicroComponent",
500
+ "bmc.kepler.MicroComponent.Reboot",
501
+ "bmc.kepler.Object.Properties",
502
+ "bmc.kepler.Systems.BiosUpgradeService",
503
+ "bmc.kepler.Systems.SmBios",
504
+ "bmc.kepler.Systems.Mctp.PCIeEndpoint",
505
+ "bmc.kepler.Systems.Mctp.PCIeBinding"
506
+ ]
507
+ }
508
+ },
509
+ {
510
+ "from": "framework",
511
+ "to": "ras",
512
+ "except" : {
513
+ "tag": "Interface",
514
+ "op": "oneOf",
515
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
516
+ }
517
+ },
518
+ {
519
+ "from": "framework",
520
+ "to": "energy",
521
+ "except" : {
522
+ "tag": "Interface",
523
+ "op": "oneOf",
524
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
525
+ }
526
+ },
527
+ {
528
+ "from": "framework",
529
+ "to": "om",
530
+ "except" : {
531
+ "tag": "Interface",
532
+ "op": "oneOf",
533
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
534
+ }
535
+ },
536
+ {
537
+ "from": "framework",
538
+ "to": "interface",
539
+ "except" : {
540
+ "tag": "Interface",
541
+ "op": "oneOf",
542
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
543
+ }
544
+ },
545
+ {
546
+ "from": "framework",
547
+ "to": "product_extension",
548
+ "except" : {
549
+ "tag": "Interface",
550
+ "op": "oneOf",
551
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
552
+ }
553
+ },
554
+ {
555
+ "from": "framework",
556
+ "to": "customer_extension",
557
+ "except" : {
558
+ "tag": "Interface",
559
+ "op": "oneOf",
560
+ "value" : ["bmc.kepler.MicroComponent", "bmc.kepler.MicroComponent.Reboot", "bmc.kepler.Object.Properties"]
561
+ }
562
+ },
563
+
564
+ {
565
+ "from": "bmc_core",
566
+ "to": "security",
567
+ "except" : {
568
+ "tag": "Interface",
569
+ "op": "oneOf",
570
+ "value" : ["bmc.kepler.CmdInfo"]
571
+ }
572
+ },
573
+ {
574
+ "from": "bmc_core",
575
+ "to": "hardware",
576
+ "except" : {
577
+ "tag": "Interface",
578
+ "op": "oneOf",
579
+ "value" : [
580
+ "bmc.kepler.CmdInfo"
581
+ ]
582
+ }
583
+ },
584
+ {
585
+ "from": "bmc_core",
586
+ "to": "ras",
587
+ "except" : {
588
+ "tag": "Interface",
589
+ "op": "oneOf",
590
+ "value" : ["bmc.kepler.CmdInfo"]
591
+ }
592
+ },
593
+ {
594
+ "from": "bmc_core",
595
+ "to": "energy",
596
+ "except" : {
597
+ "tag": "Interface",
598
+ "op": "oneOf",
599
+ "value" : ["bmc.kepler.CmdInfo"]
600
+ }
601
+ },
602
+ {
603
+ "from": "bmc_core",
604
+ "to": "om",
605
+ "except" : {
606
+ "tag": "Interface",
607
+ "op": "oneOf",
608
+ "value" : ["bmc.kepler.CmdInfo"]
609
+ }
610
+ },
611
+ {
612
+ "from": "bmc_core",
613
+ "to": "interface",
614
+ "except" : {
615
+ "tag": "Interface",
616
+ "op": "oneOf",
617
+ "value" : ["bmc.kepler.CmdInfo"]
618
+ }
619
+ },
620
+ {
621
+ "from": "bmc_core",
622
+ "to": "product_extension",
623
+ "except" : {
624
+ "tag": "Interface",
625
+ "op": "oneOf",
626
+ "value" : ["bmc.kepler.CmdInfo"]
627
+ }
628
+ },
629
+ {
630
+ "from": "bmc_core",
631
+ "to": "customer_extension",
632
+ "except" : {
633
+ "tag": "Interface",
634
+ "op": "oneOf",
635
+ "value" : ["bmc.kepler.CmdInfo"]
636
+ }
637
+ },
638
+
639
+ {"from": "security", "to": "hardware"},
640
+ {"from": "security", "to": "ras"},
641
+ {"from": "security", "to": "energy"},
642
+ {"from": "security", "to": "om"},
643
+ {"from": "security", "to": "interface"},
644
+ {"from": "security", "to": "product_extension"},
645
+ {"from": "security", "to": "customer_extension"},
646
+
647
+ {
648
+ "from": "hardware",
649
+ "to": "ras",
650
+ "except" : {
651
+ "tag": "Interface",
652
+ "op": "oneOf",
653
+ "value" : ["bmc.kepler.Manufacture"]
654
+ },
655
+ "description" : "不允许hardware子系统组件运行时有接口依赖ras子系统组件, 只有装备测试的接口例外"
656
+ },
657
+ {
658
+ "from": "hardware",
659
+ "to": "energy",
660
+ "except" : {
661
+ "tag": "Interface",
662
+ "op": "oneOf",
663
+ "value" : ["bmc.kepler.Manufacture"]
664
+ },
665
+ "description" : "不允许hardware子系统组件运行时有接口依赖energy子系统组件, 只有装备测试的接口例外"
666
+ },
667
+ {
668
+ "from": "hardware",
669
+ "to": "om",
670
+ "except" : {
671
+ "tag": "Interface",
672
+ "op": "oneOf",
673
+ "value" : ["bmc.kepler.Manufacture"]
674
+ },
675
+ "description" : "不允许hardware子系统组件运行时有接口依赖om子系统组件, 只有装备测试的接口例外"
676
+ },
677
+ {
678
+ "from": "hardware",
679
+ "to": "interface",
680
+ "except" : {
681
+ "tag": "Interface",
682
+ "op": "oneOf",
683
+ "value" : ["bmc.kepler.Manufacture"]
684
+ },
685
+ "description" : "不允许hardware子系统组件运行时有接口依赖interface子系统组件, 只有装备测试的接口例外"
686
+ },
687
+ {
688
+ "from": "hardware",
689
+ "to": "product_extension",
690
+ "except" : {
691
+ "tag": "Interface",
692
+ "op": "oneOf",
693
+ "value" : ["bmc.kepler.Manufacture"]
694
+ },
695
+ "description" : "不允许hardware子系统组件运行时有接口依赖product_extension子系统组件, 只有装备测试的接口例外"
696
+ },
697
+ {
698
+ "from": "hardware",
699
+ "to": "customer_extension",
700
+ "except" : {
701
+ "tag": "Interface",
702
+ "op": "oneOf",
703
+ "value" : ["bmc.kepler.Manufacture"]
704
+ },
705
+ "description" : "不允许hardware子系统组件运行时有接口依赖customer_extension子系统组件, 只有装备测试的接口例外"
706
+ },
707
+
708
+ {
709
+ "from": "ras",
710
+ "to": "energy",
711
+ "except" : {
712
+ "tag": "Interface",
713
+ "op": "oneOf",
714
+ "value" : ["bmc.kepler.Metric"]
715
+ },
716
+ "description" : "不允许ras子系统组件运行时有接口依赖energy子系统组件, 只有数据采集的接口例外"
717
+ },
718
+ {"from": "ras", "to": "om"},
719
+ {"from": "ras", "to": "interface"},
720
+ {
721
+ "from": "ras",
722
+ "to": "product_extension",
723
+ "except" : {
724
+ "tag": "Interface",
725
+ "op": "oneOf",
726
+ "value" : ["bmc.kepler.Metric"]
727
+ },
728
+ "description" : "不允许ras子系统组件运行时有接口依赖product_extension子系统组件, 只有数据采集的接口例外"
729
+ },
730
+ {
731
+ "from": "ras",
732
+ "to": "customer_extension",
733
+ "except" : {
734
+ "tag": "Interface",
735
+ "op": "oneOf",
736
+ "value" : ["bmc.kepler.Metric"]
737
+ },
738
+ "description" : "不允许ras子系统组件运行时有接口依赖customer_extension子系统组件, 只有数据采集的接口例外"
739
+ },
740
+
741
+ {"from": "energy", "to": "ras"},
742
+ {"from": "energy", "to": "om"},
743
+ {"from": "energy", "to": "interface"},
744
+ {"from": "energy", "to": "product_extension"},
745
+ {"from": "energy", "to": "customer_extension"},
746
+
747
+ {
748
+ "from": "om",
749
+ "to": "hardware",
750
+ "except" : {
751
+ "tag": "Interface",
752
+ "op": "oneOf",
753
+ "value" : [
754
+ "bmc.kepler.MicroComponent.Debug",
755
+ "bmc.kepler.MicroComponent.ConfigManage",
756
+ "bmc.kepler.Chassis",
757
+ "bmc.kepler.Systems.BootOptions",
758
+ "bmc.kepler.Systems.Bios",
759
+ "bmc.kepler.LifeCycle.Retirement",
760
+ "bmc.kepler.Inventory.Hardware",
761
+ "bmc.kepler.Systems.NetworkAdapter",
762
+ "bmc.kepler.Systems.NetworkPort",
763
+ "bmc.kepler.Systems.Processor.CPU"
764
+ ]
765
+ }
766
+ },
767
+ {
768
+ "from": "om",
769
+ "to": "ras",
770
+ "except" : {
771
+ "tag": "Interface",
772
+ "op": "oneOf",
773
+ "value" : ["bmc.kepler.MicroComponent.Debug", "bmc.kepler.MicroComponent.ConfigManage"]
774
+ }
775
+ },
776
+ {
777
+ "from": "om",
778
+ "to": "energy",
779
+ "except" : {
780
+ "tag": "Interface",
781
+ "op": "oneOf",
782
+ "value" : ["bmc.kepler.MicroComponent.Debug", "bmc.kepler.MicroComponent.ConfigManage"]
783
+ }
784
+ },
785
+ {
786
+ "from": "om",
787
+ "to": "interface",
788
+ "except" : {
789
+ "tag": "Interface",
790
+ "op": "oneOf",
791
+ "value" : ["bmc.kepler.MicroComponent.Debug", "bmc.kepler.MicroComponent.ConfigManage"]
792
+ }
793
+ },
794
+ {
795
+ "from": "om",
796
+ "to": "product_extension",
797
+ "except" : {
798
+ "tag": "Interface",
799
+ "op": "oneOf",
800
+ "value" : ["bmc.kepler.MicroComponent.Debug", "bmc.kepler.MicroComponent.ConfigManage"]
801
+ }
802
+ },
803
+ {
804
+ "from": "om",
805
+ "to": "customer_extension",
806
+ "except" : {
807
+ "tag": "Interface",
808
+ "op": "oneOf",
809
+ "value" : ["bmc.kepler.MicroComponent.Debug", "bmc.kepler.MicroComponent.ConfigManage"]
810
+ }
811
+ }
812
+ ],
813
+ "IntfDeps": [
814
+ {
815
+ "framework" : [
816
+ {
817
+ "from": "hwproxy",
818
+ "to": "hwdiscovery",
819
+ "except" : {
820
+ "tag": "Interface",
821
+ "op": "oneOf",
822
+ "value" : ["bmc.kepler.ObjectGroup"]
823
+ }
824
+ }
825
+ ]
826
+ }
827
+ ],
828
+ "BuildDeps": [
829
+ {
830
+ "from": "*",
831
+ "to": "Library",
832
+ "when" : {
833
+ "tag": "InDegree",
834
+ "op": "equal",
835
+ "value" : 0
836
+ },
837
+ "description" : "不允许库没有任何组件构建时依赖它",
838
+ "message": "No applications or libraries or commands depend on '${to}' during building, it maybe redundant."
839
+ },
840
+
841
+ {
842
+ "from": "App",
843
+ "to": "App",
844
+ "description" : "不允许App类型的组件在构建时依赖App类型的组件",
845
+ "message": "The application '${from}' cannot depend on '${to}' during building."
846
+ },
847
+ {
848
+ "from": "App",
849
+ "to": "Command",
850
+ "description" : "不允许App类型的组件在构建时依赖Command类型的组件",
851
+ "message": "The application '${from}' cannot depend on '${to}' during building."
852
+ },
853
+
854
+ {
855
+ "from": "Library",
856
+ "to": "App",
857
+ "description" : "不允许Library类型的组件在构建时依赖App类型的组件",
858
+ "message": "The library '${from}' cannot depend on '${to}' during building."
859
+ },
860
+ {
861
+ "from": "Library",
862
+ "to": "Command",
863
+ "description" : "不允许Library类型的组件在构建时依赖Command类型的组件",
864
+ "message": "The library '${from}' cannot depend on '${to}' during building."
865
+ },
866
+ {
867
+ "from": "Library",
868
+ "to": "Tool",
869
+ "description" : "不允许Library类型的组件在构建时依赖Tool类型的组件",
870
+ "message": "The library '${from}' cannot depend on '${to}' during building."
871
+ },
872
+
873
+ {
874
+ "from": "Command",
875
+ "to": "Command",
876
+ "description" : "不允许Command类型的组件在构建时依赖Command类型的组件",
877
+ "message": "The command '${from}' cannot depend on '${to}' during building."
878
+ },
879
+
880
+ {
881
+ "from": "Tool",
882
+ "to": "Tool",
883
+ "description" : "不允许Tool类型的组件在构建时依赖Tool类型的组件",
884
+ "message": "The tool '${from}' cannot depend on '${to}' during building."
885
+ },
886
+ {
887
+ "from": "Tool",
888
+ "to": "App",
889
+ "description" : "不允许Tool类型的组件在构建时依赖App类型的组件",
890
+ "message": "The tool '${from}' cannot depend on '${to}' during building."
891
+ },
892
+ {
893
+ "from": "Tool",
894
+ "to": "Library",
895
+ "description" : "不允许Tool类型的组件在构建时依赖library类型的组件",
896
+ "message": "The tool '${from}' cannot depend on '${to}' during building."
897
+ },
898
+ {
899
+ "from": "Tool",
900
+ "to": "Command",
901
+ "description" : "不允许Tool类型的组件在构建时依赖Command类型的组件",
902
+ "message": "The tool '${from}' cannot depend on '${to}' during building."
903
+ },
904
+ {
905
+ "from": "Tool",
906
+ "to": "Configuration",
907
+ "description" : "不允许Tool类型的组件在构建时依赖Configuration类型的组件",
908
+ "message": "The tool '${from}' cannot depend on '${to}' during building."
909
+ }
910
+ ]
911
+ }
912
+ }