:param load_type: :param tool_dirpath: :param tool_dirpath_copy_from: :param git_url: :param scm_auth_info: :param print_enable: :return:
(load_type, tool_dirpath, tool_dirpath_copy_from, git_url, scm_auth_info=None, print_enable=False)
| 72 | |
| 73 | @staticmethod |
| 74 | def load_tool(load_type, tool_dirpath, tool_dirpath_copy_from, git_url, scm_auth_info=None, print_enable=False): |
| 75 | """ |
| 76 | |
| 77 | :param load_type: |
| 78 | :param tool_dirpath: |
| 79 | :param tool_dirpath_copy_from: |
| 80 | :param git_url: |
| 81 | :param scm_auth_info: |
| 82 | :param print_enable: |
| 83 | :return: |
| 84 | """ |
| 85 | if settings.DEBUG: |
| 86 | print_enable = True |
| 87 | if load_type == "Local": |
| 88 | if print_enable: |
| 89 | LogPrinter.info(f"Use local tool dir: {tool_dirpath}") |
| 90 | return tool_dirpath |
| 91 | elif load_type == "Copy": |
| 92 | if print_enable: |
| 93 | LogPrinter.info(f"Copy from {tool_dirpath_copy_from} to {tool_dirpath}") |
| 94 | PathMgr().retry_copy(tool_dirpath_copy_from, tool_dirpath) |
| 95 | return tool_dirpath |
| 96 | elif load_type == "HTTP": |
| 97 | if print_enable: |
| 98 | LogPrinter.info(f"Load from {git_url} to {tool_dirpath}") |
| 99 | HttpToolLoader.download_tool(git_url, tool_dirpath) |
| 100 | return tool_dirpath |
| 101 | else: |
| 102 | if print_enable: |
| 103 | LogPrinter.info(f"Load from git to {tool_dirpath} ...") |
| 104 | # print_enable不能设置为True,否则会覆盖掉logging输出的日志 |
| 105 | GitLoader(scm_url=git_url, dest_dir=tool_dirpath, scm_auth_info=scm_auth_info, print_enable=False).load() |
| 106 | return tool_dirpath |
| 107 | |
| 108 | |
| 109 | class ThreadRunner(object): |
no test coverage detected