Skip to main content

resolve files

[Plomberie profonde] Développe un ensemble de globs d’inclusion/exclusion de fichiers.

Qui peut utiliser cette fonctionnalité ?

GitHub CodeQL est concédé sous licence par utilisateur lors de l’installation. Vous pouvez utiliser CodeQL uniquement pour certaines tâches soumises aux restrictions de licence. Pour plus d’informations, consultez « À propos de CodeQL CLI ».

Si vous disposez d’une licence GitHub Advanced Security, vous pouvez utiliser CodeQL pour l’analyse automatisée, l’intégration continue et la livraison continue. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

Ce contenu décrit la version la plus récente de CodeQL CLI. Pour plus d’informations sur cette version, consultez https://github.com/github/codeql-cli-binaries/releases.

Pour voir les détails des options disponibles pour cette commande dans une version antérieure, exécutez la commande avec l’option --help dans votre terminal.

Synopsis

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

Description

[Plomberie profonde] Développe un ensemble de globs d’inclusion/exclusion de fichiers.

Cette commande de plomberie est chargée d’étendre les paramètres de ligne de commande des sous-commandes qui opèrent sur plusieurs fichiers, identifiés par leurs chemins. Par défaut, tous les fichiers sont inclus. Par conséquent, l’exécution de cette commande sans argument de filtre collecte tous les fichiers d’un répertoire.

Les options --include, --exclude et --prune prennent toutes des modèles de glob, qui peuvent utiliser les caractères génériques suivants :

  • Un seul « ? » correspond à un caractère autre qu’une barre oblique et une barre oblique inverse.
  • Un seul « * » correspond à une suite de caractères autres qu’une barre oblique et une barre oblique inverse.
  • Le modèle « ** » correspond à zéro, un ou plusieurs composants de répertoire complets.

Options

Options principales

<dir>

Répertoire dans lequel effectuer la recherche.

--format=<fmt>

Sélectionne le format de sortie text (par défaut) ou json.

Options pour limiter l’ensemble des fichiers collectés

--include-extension=<.ext>

Inclut tous les fichiers de l’arborescence de répertoires de recherche qui ont l’extension donnée. En règle générale, vous devez inclure le point avant l’extension. Par exemple, le fait de passer --include-extension .xml inclut tous les fichiers avec l’extension « .xml ». Cette option n’est pas compatible avec les options --include annulées.

--include=<glob>

Inclut tous les fichiers et répertoires dans l’arborescence de répertoires de recherche qui correspondent au glob donné, en utilisant le chemin relatif de chaque fichier et répertoire à partir du répertoire de recherche. Si le glob commence par un caractère !, les fichiers et répertoires correspondants sont exclus.

Les options --include sont traitées dans l’ordre, les options suivantes remplaçant les précédentes. Par exemple, --include ** --include !sub/*.ts --include sub/main.* inclut sub/main.ts (car il est inclus par sub/main.*), exclut sub/index.ts (car il est exclu par !sub/*.ts) et inclut sub/test.js (car il est inclus par ** sans être exclu par la suite).

--also-match=<glob>

Exige que tous les résultats correspondent également au glob donné, en utilisant le chemin relatif de chaque fichier et répertoire à partir du répertoire de recherche. Cette option a la même structure et la même interprétation que --include, mais spécifie une séquence distincte de globs qui sont appliqués conjointement avec --include.

--exclude=<glob>

Exclut tous les fichiers et répertoires qui correspondent au glob donné, en utilisant le chemin relatif de chaque fichier et répertoire à partir du répertoire de recherche. Cette option remplace toutes les options include. Cette option n’est pas compatible avec les options --include annulées.

--prune=<glob>

Exclut tous les fichiers et répertoires qui correspondent au glob donné, en utilisant le chemin relatif de chaque fichier et répertoire à partir du répertoire de recherche. Cette option remplace toutes les options include. Cette option n’est pas compatible avec les options --include annulées.

--size-limit=<bytes>

Exclut tous les fichiers dont la taille dépasse la limite donnée. La limite de taille est exprimée en octets, ou en kibioctets (Kio) avec le suffixe « k », en mébioctets (Mio) avec le suffixe « m » et en gibioctet (Gio) avec le suffixe « g ». Cette option remplace toutes les options include.

--total-size-limit=<bytes>

Fait en sorte que la commande se ferme avec une erreur si la taille combinée de tous les fichiers résolus dépasse la limite donnée. La limite de taille est exprimée en octets, ou en kibioctets (Kio) avec le suffixe « k », en mébioctets (Mio) avec le suffixe « m » et en gibioctet (Gio) avec le suffixe « g ».

Suit les liens symboliques vers leurs cibles.

--[no-]find-any

Recherche au maximum une correspondance (par opposition à toutes les correspondances).

Disponible depuis v2.11.3.

Options courantes

-h, --help

Affiche ce texte d’aide.

-J=<opt>

[Avancé] Donne une option à l’environnement JVM exécutant la commande.

(Attention, les options contenant des espaces ne sont pas gérées correctement.)

-v, --verbose

Augmente de façon incrémentielle le nombre de messages de progression affichés.

-q, --quiet

Diminue de façon incrémentielle le nombre de messages de progression affichés.

--verbosity=<level>

[Avancé] Définit explicitement le niveau de détail sur errors, warnings, progress, progress+, progress++ ou progress+++. Remplace -v et -q.

--logdir=<dir>

[Avancé] Écrit des journaux détaillés dans un ou plusieurs fichiers du répertoire donné, avec des noms générés qui incluent des horodatages et le nom de la sous-commande en cours d’exécution.

(Pour écrire un fichier journal avec un nom sur lequel vous avez un contrôle total, donnez plutôt --log-to-stderr et redirigez stderr comme vous le souhaitez.)

--common-caches=<dir>

[Avancé] Contrôle l’emplacement des données en cache sur le disque qui persisteront entre plusieurs exécutions de l’interface CLI, telles que les packs QL téléchargés et les plans de requête compilés. S’il n’est pas défini explicitement, il s’agit par défaut d’un répertoire nommé .codeql dans le répertoire de base de l’utilisateur. S’il n’existe pas déjà, il est créé.

Disponible depuis v2.15.2.