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

Method parse_args

client/node/common/cmdarg.py:24–117  ·  view source on GitHub ↗

解析命令行参数 :return:

()

Source from the content-addressed store, hash-verified

22 """
23 @staticmethod
24 def parse_args():
25 """解析命令行参数
26
27 :return:
28 """
29 argparser = argparse.ArgumentParser(add_help=True)
30 argparser.add_argument('-v', '--version', action='version',
31 version=f"CodeAnalysis Version {settings.VERSION}({settings.EDITION.name} Beta)",
32 help="显示版本号")
33 argparser.add_argument("-l", "--log-file", dest='log_file', help="指定log文件路径")
34 subparsers = argparser.add_subparsers(dest='command', help="Commands")
35
36 # localscan命令
37 localscan_parser = subparsers.add_parser('localscan', help="执行本地项目扫描")
38 localscan_parser.add_argument("-t", "--token", dest='token', type=str, help="个人Token,在代码分析网站获取")
39 localscan_parser.add_argument("--org-sid", dest="org_sid", help="团队编号,在代码分析网站获取")
40 localscan_parser.add_argument("--team-name", dest="team_name", help="项目名称,在代码分析网站获取")
41 localscan_parser.add_argument("-s", "--source-dir", dest="source_dir", type=str, help="本地代码目录")
42 localscan_parser.add_argument("--total", dest="total_scan", action="store_true",
43 help="指定本次为全量扫描,不指定该参数时默认为增量扫描")
44 localscan_parser.add_argument("--language", dest="language", type=str, help="代码语言类型,可以指定多门语言,用英文逗号(,)分隔")
45 localscan_parser.add_argument("--scan-plan", dest="scan_plan", type=str,
46 help="扫描方案名称,如果当前代码库已存在该名称的方案,直接使用;否则会新建该名称的方案")
47 localscan_parser.add_argument("--ref-scheme-id", dest="ref_scheme_id", type=int,
48 help="参照扫描方案ID,新建项目时复制指定ID的扫描方案使用,达到多个代码仓库使用相同的扫描方案的效果")
49 localscan_parser.add_argument("--branch", dest="branch", type=str, help="指定本地扫描的git代码库分支名称")
50 localscan_parser.add_argument("--scan-path", dest="scan_path", type=str,
51 help="填写子目录的相对路径,指定某个子目录作为当前项目的扫描目录,适用于大仓场景,只针对某个业务目录进行扫描。默认扫描整个代码仓库")
52 localscan_parser.add_argument("--exclude", dest="exclude_paths", type=str,
53 help="需要过滤的目录或文件(相对路径),多个路径用英文逗号(,)分隔,路径格式遵循python fnmatch语法")
54 localscan_parser.add_argument("--compare-branch", dest="compare_branch", type=str,
55 help="对比分支,过滤掉从对比分支引入的历史代码问题,用于MR场景,一般设置为MR目标分支")
56 localscan_parser.add_argument("--include", dest="include_paths", type=str,
57 help="指定只扫描的目录或文件(相对路径),多个路径用英文逗号(,)分隔,路径格式遵循python fnmatch语法")
58 localscan_parser.add_argument("--pre-cmd", dest="pre_cmd", type=str, help="前置命令(需要前置操作时使用)")
59 localscan_parser.add_argument("--build-cmd", dest="build_cmd", type=str, help="编译命令(扫描编译型语言时使用)")
60 localscan_parser.add_argument("--username", dest="username", type=str, help="代码库用户名")
61 localscan_parser.add_argument("--password", dest="password", type=str, help="代码库密码")
62 localscan_parser.add_argument("--ssh", dest="ssh_file", type=str, help="ssh私钥文件路径")
63 localscan_parser.add_argument("-c", "--config-file", dest='config_file', type=str, help="项目配置文件")
64 localscan_parser.add_argument("--report", dest="report_file", type=str,
65 help="指定输出扫描结果简报的文件路径(json格式),默认输出在软件工作目录下的scan_status.json文件")
66 localscan_parser.add_argument("--server", dest="server_url", type=str, help="指定连接的服务器url")
67 localscan_parser.add_argument("--start-type", dest='start_type', type=str, help="启动方式,可选值:CI,分别表示CI场景")
68
69 # updatetool命令
70 updatetool_parser = subparsers.add_parser('updatetool', help="拉取工具")
71 updatetool_parser.add_argument('-t', '--tool', dest='tool', type=str, help="更新指定工具,可以指定多个工具,用英文逗号(,)分隔")
72 updatetool_parser.add_argument('-a', '--all', dest='all_tools', action="store_true", help="更新全量工具")
73 updatetool_parser.add_argument('-o', '--os', dest='os_type', type=str, choices=['mac', 'linux', 'windows'],
74 help="拉取指定操作系统下的工具")
75
76 # start命令
77 start_parser = subparsers.add_parser('start', help="启动节点")
78 start_parser.add_argument("-t", "--token", dest='token', type=str, help="个人token,在代码分析网站获取", required=True)
79 start_parser.add_argument("--org-sid", dest="org_sid", help="团队编号,在代码分析网站获取。指定注册为团队的节点,不指定则为公共节点")
80 start_parser.add_argument("--tag", dest="tag", help="机器标签")
81 start_parser.add_argument("--create-from", dest="create_from", type=str, help="客户端节点启动渠道")

Callers 2

ScriptsAPI.pyFile · 0.80
__init__Method · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected