Skip to main content

resolve files

[Deep plumbing] 展开一组文件包含/排除 glob。

谁可以使用此功能?

GitHub CodeQL 在安装后按用户授权。 根据许可证限制,只能将 CodeQL 用于某些任务。 有关详细信息,请参阅“关于 CodeQL CLI”。

如果你有 GitHub Advanced Security 许可证,则可以使用 CodeQL 进行自动分析、持续集成和持续交付。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

本文内容

此内容描述了 CodeQL CLI 的最新版本。 有关此版本的详细信息,请参阅 https://github.com/github/codeql-cli-binaries/releases

若要查看早期版本中此命令可用选项的详细信息,请在终端中使用 --help 选项运行命令。

摘要

Shell
codeql resolve files <options>... -- <dir>

说明

[ Deep plumbing] 展开一组文件包含/排除 glob。

该底层命令负责展开操作多个文件(由其路径标识)的子命令的命令行参数。 默认情况下,所有文件都包括在内,因此在没有任何筛选器参数的情况下运行此命令将收集目录中的所有文件。

--include--exclude--prune 选项都采用 glob 模式,这些模式可使用以下通配符:

  • 单个“?”匹配除正斜杠/反斜杠以外的任何字符;
  • 单个“*”匹配除正斜杠/反斜杠以外的任何数量的字符;
  • 模式“**”匹配零个或多个完整的目录组件。

选项

主要选项

<dir>

要搜索的目录。

--format=<fmt>

选择输出格式:text(默认)或 json

用于限制收集的文件集的选项

--include-extension=<.ext>

在搜索目录树中包含具有给定扩展名的所有文件。 通常,应在扩展名前面添加圆点。 例如,传递 --include-extension .xml 将包括扩展名为“.xml”的所有文件。 此选项与已否定的 --include 选项不兼容。

--include=<glob>

使用搜索目录中每个文件和目录的相对路径,在搜索目录树中包含与给定 glob 匹配的所有文件和目录。 如果 glob 以 ! 字符开头,则改为排除匹配的文件和目录。

--include 选项按顺序处理,后面的选项覆盖前面的选项。 例如,--include ** --include !sub/*.ts --include sub/main.* 将包含 sub/main.ts(因为它被 sub/main.* 包含在内),排除 sub/index.ts(因为它被 !sub/*.ts 排除在外),并包含 sub/test.js(因为它被 ** 包含在内,随后又不被排除在外。)

--also-match=<glob>

使用搜索目录中每个文件和目录的相对路径,要求所有结果也匹配给定的 glob。 此选项的结构和解释与 --include 相同,但它指定与 --include 一起应用的单独 glob 序列。

--exclude=<glob>

使用搜索目录中每个文件和目录的相对路径,排除与给定 glob 匹配的所有文件和目录。 此选项将覆盖所有 include 选项。 此选项与已否定的 --include 选项不兼容。

--prune=<glob>

使用搜索目录中每个文件和目录的相对路径,排除与给定 glob 匹配的所有文件和目录。 此选项将覆盖所有 include 选项。 此选项与已否定的 --include 选项不兼容。

--size-limit=<bytes>

排除大小超过给定限制的所有文件。 大小限制以字节为单位,或者单位是后缀为“k”的千字节 (KiB)、后缀为“m”的兆字节 (MiB) 和后缀为“g”的千兆字节 (GiB)。 此选项将覆盖所有 include 选项。

--total-size-limit=<bytes>

如果所有已解析文件的组合大小超过给定限制,则退出命令并显示错误。 大小限制以字节为单位,或者单位是后缀为“k”的千字节 (KiB)、后缀为“m”的兆字节 (MiB) 和后缀为“g”的千兆字节 (GiB)。

遵循指向其目标的任何符号链接。

--[no-]find-any

最多查找一个匹配项(而不是所有匹配项)。

v2.11.3 起可用。

常用选项

-h, --help

显示此帮助文本。

-J=<opt>

[高级] 为运行命令的 JVM 提供选项。

(请注意,无法正确处理包含空格的选项。)

-v, --verbose

以增量方式增加输出的进度消息数。

-q, --quiet

以增量方式减少输出的进度消息数。

--verbosity=<level>

[高级] 将详细级别显式设置为“错误”、“警告”、“进度”、“进度+”、“进度++”、“进度+++”之一。 重写 -v-q

--logdir=<dir>

[高级] 将详细日志写入给定目录中的一个或多个文件,其中生成的名称包括时间戳和正在运行的子命令的名称。

(若要使用可以完全控制的名称编写日志文件,请根据需要提供 --log-to-stderr 并重定向 stderr。)

--common-caches=<dir>

[高级] 控制磁盘上缓存数据的位置,此位置会在多次运行 CLI(例如下载的 QL 包和已编译查询计划)期间暂留。 如果未明确设置,则默认为用户主目录中名为 .codeql 的目录;如果尚不存在,则会创建该目录。

v2.15.2 起可用。