Note
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
codeql database index-files --language=<lang> [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>
codeql database index-files --language=<lang> [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>
Description
[Plomberie] Indexe des fichiers autonomes avec un extracteur CodeQL donné.
Cette commande sĂ©lectionne un ensemble de fichiers dans le rĂ©pertoire de travail spĂ©cifiĂ© et leur applique lâextracteur donnĂ©. Par dĂ©faut, tous les fichiers sont sĂ©lectionnĂ©s. Les appels typiques spĂ©cifient des options pour restreindre lâensemble des fichiers inclus.
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
<database>
[Obligatoire] Chemin de la base de donnĂ©es CodeQL en cours de construction. Doit avoir Ă©tĂ© prĂ©parĂ© pour lâextraction avec codeql database init.
-l, --language=<lang>
[Obligatoire] Extracteur qui doit ĂȘtre utilisĂ© pour indexer les fichiers correspondants.
-j, --threads=<num>
Demande Ă lâextracteur dâutiliser le nombre de threads spĂ©cifiĂ©. Cette option est passĂ©e Ă lâextracteur en tant que suggestion. Si la variable dâenvironnement CODEQL_THREADS est dĂ©finie, la valeur de la variable dâenvironnement est prioritaire sur cette option.
Vous pouvez passer 0 pour utiliser un thread par cĆur sur la machine ou -N pour laisser N cĆurs inutilisĂ©s (sauf si au moins un thread est toujours utilisĂ©).
-M, --ram=<MB>
Demande Ă lâextracteur dâutiliser la quantitĂ© de mĂ©moire spĂ©cifiĂ©e. Cette option est passĂ©e Ă lâextracteur en tant que suggestion. Si la variable dâenvironnement CODEQL_RAM est dĂ©finie, la valeur de la variable dâenvironnement est prioritaire sur cette option.
--working-dir=<dir>
[AvancĂ©] RĂ©pertoire dans lequel la commande spĂ©cifiĂ©e doit ĂȘtre exĂ©cutĂ©e. Si cet argument nâest pas fourni, la commande est exĂ©cutĂ©e dans la valeur de --source-root
passée à codeql database create, le cas échéant. Si aucun argument --source-root
nâest fourni, la commande est exĂ©cutĂ©e dans le rĂ©pertoire de travail actif.
Options pour contrĂŽler le comportement des extracteurs
-O, --extractor-option=<extractor-option-name=value>
DĂ©finit les options pour les extracteurs CodeQL. extractor-option-name
doit ĂȘtre de la forme extracteur_nom.groupe1.groupe2.option_nom ou groupe1.groupe2.option_nom. Si extractor_option_name
commence par un nom dâextracteur, lâextracteur indiquĂ© doit dĂ©clarer lâoption groupe1.groupe2.option_nom. Sinon, tout extracteur qui dĂ©clare lâoption groupe1.groupe2.option_nom aura lâoption dĂ©finie. value
peut ĂȘtre nâimporte quelle chaĂźne qui ne contient pas de nouvelle ligne.
Vous pouvez utiliser cette option de ligne de commande Ă plusieurs reprises pour dĂ©finir plusieurs options dâextracteur. Si vous fournissez plusieurs valeurs pour la mĂȘme option dâextracteur, le comportement dĂ©pend du type attendu par lâoption dâextracteur. Les options de chaĂźne utilisent la derniĂšre valeur fournie. Les options de tableau utilisent toutes les valeurs fournies, dans lâordre. Les options dâextracteur spĂ©cifiĂ©es Ă lâaide de cette option de ligne de commande sont traitĂ©es aprĂšs les options dâextracteur fournies via --extractor-options-file
.
Lorsquâelles sont passĂ©es Ă codeql database init ou codeql database begin-tracing
, les options sont appliquĂ©es uniquement Ă lâenvironnement de traçage indirect. Si votre workflow effectue Ă©galement des appels Ă codeql database trace-command, les options doivent Ă©galement y ĂȘtre passĂ©es si vous le souhaitez.
Consultez https://codeql.github.com/docs/codeql-cli/extractor-options pour plus dâinformations sur les options dâextracteur CodeQL, notamment sur la façon de lister les options dĂ©clarĂ©es par chaque extracteur.
--extractor-options-file=<extractor-options-bundle-file>
SpĂ©cifie les fichiers de bundle dâoptions dâextracteur. Un fichier bundle dâoptions dâextracteur est un fichier JSON (extension .json
) ou un fichier YAML (extension .yaml
ou .yml
) qui dĂ©finit les options de lâextracteur. Le fichier doit avoir la clĂ© de mappage de niveau supĂ©rieur « extractor » et, dessous, les noms dâextracteur en tant que clĂ©s de mappage de deuxiĂšme niveau. Les autres niveaux de mappage reprĂ©sentent les groupes dâextracteurs imbriquĂ©s, et les options de chaĂźne et de tableau sont des entrĂ©es de mappage avec des valeurs de chaĂźne et de tableau.
Les fichiers de bundle dâoptions dâextracteur sont lus dans lâordre dans lequel ils sont spĂ©cifiĂ©s.
Si des fichiers de bundle dâoptions dâextracteur diffĂ©rents spĂ©cifient la mĂȘme option dâextracteur, le comportement dĂ©pend du type attendu par lâoption dâextracteur. Les options de chaĂźne utilisent la derniĂšre valeur fournie. Les options de tableau utilisent toutes les valeurs fournies, dans lâordre. Les options dâextracteur spĂ©cifiĂ©es Ă lâaide de cette option de ligne de commande sont traitĂ©es avant les options dâextracteur fournies via --extractor-option
.
Lorsquâelles sont passĂ©es Ă codeql database init ou codeql database begin-tracing
, les options sont appliquĂ©es uniquement Ă lâenvironnement de traçage indirect. Si votre workflow effectue Ă©galement des appels Ă codeql database trace-command, les options doivent Ă©galement y ĂȘtre passĂ©es si vous le souhaitez.
Consultez https://codeql.github.com/docs/codeql-cli/extractor-options pour plus dâinformations sur les options dâextracteur CodeQL, notamment sur la façon de lister les options dĂ©clarĂ©es par chaque extracteur.
Options pour limiter lâensemble des fichiers indexĂ©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 ».
--[no-]follow-symlinks
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
.