MCPcopy Index your code
hub / github.com/Tencent/CodeAnalysis / ToolConfigLoader

Class ToolConfigLoader

client/node/toolloader/loadtool.py:253–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

251
252
253class ToolConfigLoader(object):
254 def load_tool_config(self, load_common_tools=True):
255 """
256 拉取|更新工具配置文件
257 :return:
258 """
259 tool_config = ToolConfig()
260 tool_config_url = tool_config.get_tool_config_url()
261 LogPrinter.info(f"Load tool config: {tool_config_url}")
262 tool_config_dir_name = tool_config.get_tool_config_dir_name()
263 tool_config_dir_path = tool_config.get_tool_config_dir_path()
264 load_type, dirpath_copy_from = ToolCommonLoader.load_tool_type(tool_config_dir_path, tool_config_dir_name, tool_config_url)
265
266 ToolCommonLoader.load_tool(load_type, tool_config_dir_path, dirpath_copy_from, tool_config_url)
267 if load_common_tools:
268 self.load_common_tools_and_set_env()
269
270 def load_common_tools_and_set_env(self):
271 """
272 拉取并加载所有common工具,包括zip工具,供后续解压工具zip包使用
273 """
274 tool_loader = ToolLoader(include_common=True)
275 LogPrinter.info(f"Initing common tools ...")
276 tool_loader.git_load_tools(print_enable=False)
277 tool_loader.set_tool_env()
278 self.setup_git_lfs()
279
280 def setup_git_lfs(self):
281 """
282 拉取git lfs工具后,需要额外执行 git lfs install,避免部分机器lfs不可用:Skipping object checkout, Git LFS is not installed.
283 """
284 try:
285 cmd_args = ["git", "lfs", "install"]
286 LogPrinter.info('run cmd: %s' % ' '.join(cmd_args))
287 spc = SubProcController(
288 command=cmd_args,
289 stdout_line_callback=LogPrinter.info,
290 stderr_line_callback=LogPrinter.info,
291 stdout_filepath=None,
292 stderr_filepath=None
293 )
294 spc.wait()
295 except Exception as err:
296 LogPrinter.error(f"git lfs cmd error: {str(err)}, please check.")

Callers 3

mainMethod · 0.90
load_toolsMethod · 0.90
generate_requestMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected