Skip to main content

resolve files

[Conexão detalhada] Expanda um conjunto de globs de inclusão/exclusão de arquivos.

Quem pode usar esse recurso?

O CodeQL do GitHub é licenciado por usuário após a instalação. Você pode usar o CodeQL somente para determinadas tarefas sob as restrições de licença. Para obter mais informações, confira "Sobre a CLI do CodeQL".

Se você tiver uma licença do GitHub Advanced Security, poderá usar o CodeQL para análise automatizada, integração contínua e entrega contínua. Para obter mais informações, confira "Sobre a Segurança Avançada do GitHub".

Este conteúdo descreve a versão mais recente do CodeQL CLI. Para obter mais informações sobre essa versão, confira https://github.com/github/codeql-cli-binaries/releases.

Para ver os detalhes das opções disponíveis para esse comando em uma versão anterior, execute o comando com a opção --help no terminal.

Sinopse

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

Descrição

[Conexão detalhada] Expanda um conjunto de globs de inclusão/exclusão de arquivos.

Esse comando de conexão é responsável por expandir os parâmetros de linha de comando dos subcomandos que operam em vários arquivos, identificados pelos respectivos caminhos. Por padrão, todos os arquivos são incluídos, ou seja, a execução desse comando sem argumentos de filtro coletará todos os arquivos em um diretório.

As opções --include, --exclude e --prune usam padrões glob, que podem usar os seguintes caracteres curinga:

  • Um único "?" corresponde a qualquer caractere diferente de uma barra "/" ou uma barra invertida;
  • Um único "*" corresponde a qualquer número de caracteres que não seja uma barra "/" ou uma barra invertida;
  • O padrão "**" corresponde a zero ou mais componentes de diretório completos.

Opções

Opções principais

<dir>

O diretório a ser pesquisado.

--format=<fmt>

Selecione o formato de saída: text (padrão) ou json.

Opções para limitar o conjunto de arquivos coletados

--include-extension=<.ext>

Inclua todos os arquivos na árvore de diretórios de pesquisa que têm a extensão fornecida. Normalmente, você deve incluir o ponto antes da extensão. Por exemplo, se você transmitir --include-extension .xml, isso incluirá todos os arquivos com a extensão ".xml". Essa opção é incompatível com as opções --include negadas.

--include=<glob>

Inclua todos os arquivos e os diretórios na árvore de diretórios de pesquisa que correspondam ao glob fornecido, usando o caminho relativo de cada arquivo e diretório do diretório de pesquisa. Se o glob começar com um caractere !, os arquivos e os diretórios correspondentes serão excluídos.

As opções --include são processadas em ordem, com as opções posteriores substituindo as anteriores. Por exemplo, --include ** --include !sub/*.ts --include sub/main.* incluirá sub/main.ts (porque é incluído por sub/main.*), excluirá sub/index.ts (porque é excluído por !sub/*.ts) e incluirá sub/test.js (porque é incluído por ** sem ser excluído posteriormente).

--also-match=<glob>

Exija que todos os resultados também correspondam ao glob fornecido, usando o caminho relativo de cada arquivo e diretório do diretório de pesquisa. Essa opção tem a mesma estrutura e a mesma interpretação de --include, mas especifica uma sequência separada de globs que são aplicados em conjunto com --include.

--exclude=<glob>

Exclua todos os arquivos e os diretórios que correspondam ao glob fornecido, usando o caminho relativo de cada arquivo e diretório do diretório de pesquisa. Essa opção substitui todas as opções de inclusão. Essa opção é incompatível com as opções --include negadas.

--prune=<glob>

Exclua todos os arquivos e os diretórios que correspondam ao glob fornecido, usando o caminho relativo de cada arquivo e diretório do diretório de pesquisa. Essa opção substitui todas as opções de inclusão. Essa opção é incompatível com as opções --include negadas.

--size-limit=<bytes>

Exclua todos os arquivos cujo tamanho excede o limite especificado. O limite de tamanho é indicado em bytes ou em KiB (kibibytes) com o sufixo "k", em MiB (mebibytes) com o sufixo "m" e em GiB (gibibytes) com o sufixo "g". Essa opção substitui todas as opções de inclusão.

--total-size-limit=<bytes>

Faz com que o comando saia com um erro se o tamanho combinado de todos os arquivos resolvidos excede o limite fornecido. O limite de tamanho é indicado em bytes ou em KiB (kibibytes) com o sufixo "k", em MiB (mebibytes) com o sufixo "m" e em GiB (gibibytes) com o sufixo "g".

Siga os links simbólicos para os respectivos destinos.

--[no-]find-any

Encontre, no máximo, uma correspondência (em vez de todas as correspondências).

Disponível desde v2.11.3.

Opções comuns

-h, --help

Mostre este texto de ajuda.

-J=<opt>

[Avançado] Forneça a opção para a JVM que executa o comando.

(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)

-v, --verbose

Aumente incrementalmente o número de mensagens de progresso impressas.

-q, --quiet

Diminua incrementalmente o número de mensagens de progresso impressas.

--verbosity=<level>

[Avançado] Defina explicitamente o nível de detalhamento como erros, avisos, progresso, progresso+, progresso++ ou progresso+++. Substitui -v e -q.

--logdir=<dir>

[Avançado] Escreva logs detalhados em um ou mais arquivos no diretório fornecido, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.

(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça --log-to-stderr e redirecione stderr conforme desejado.)

--common-caches=<dir>

[Avançado] Controle a localização dos dados armazenados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilada. Se não for definido explicitamente, o padrão corresponde a um diretório intitulado .codeql no diretório inicial do usuário; que será criado se ainda não existir.

Disponível desde v2.15.2.