Ă propos de la spĂ©cification dâoptions de commande dans un fichier de configuration CodeQL
Vous pouvez enregistrer les options par défaut ou fréquemment utilisées pour vos commandes dans un fichier de configuration par utilisateur.
Vous pouvez spécifier les options de commande CodeQL CLI de deux maniÚres :
- Directement dans la ligne de commande Ă lâaide de lâindicateur appropriĂ©
- Dans un fichier de configuration (ou
config
) dans lequel CodeQL recherche les options pertinentes chaque fois quâune commande est exĂ©cutĂ©e
Pour les options susceptibles de changer chaque fois que vous exĂ©cutez une commande, le moyen le plus pratique de transfĂ©rer les informations Ă CodeQL consiste Ă spĂ©cifier la valeur sur la ligne de commande. Lâenregistrement dâoptions dans un fichier config
est un bon moyen de spĂ©cifier les options que vous utilisez frĂ©quemment. Câest Ă©galement un bon moyen dâajouter des packs CodeQL personnalisĂ©s que vous utilisez rĂ©guliĂšrement Ă votre chemin de recherche.
Utilisation dâun fichier de configuration CodeQL
Vous devez enregistrer le fichier config
dans votre répertoire de base (Linux et macOS) ou de profil utilisateur (Windows) dans le sous-répertoire .config/codeql/
. Par exemple : $HOME/.config/codeql/config
.
La syntaxe pour la spécification des options est la suivante :
<command> <subcommand> <option> <value>
Pour appliquer les mĂȘmes options Ă plusieurs commandes, vous pouvez :
- Omettre la
<subcommand>
, qui spĂ©cifie lâoption pour chaque<subcommand>
pour laquelle elle est pertinente - Omettre la
<command>
et la<subcommand>
, qui spĂ©cifient globalement lâoption pour chaque<command>
et<subcommand>
pour lesquelles elles sont pertinentes
Remarque
- Les fichiers
config
acceptent des espaces uniquement entre les indicateurs et les valeurs dâoption. CodeQL gĂ©nĂšre une erreur si vous utilisez=
pour spĂ©cifier une valeur dâoption. - Si vous spĂ©cifiez une option dans la ligne de commande, cela remplace la valeur
config
définie pour cette option. - Si vous souhaitez spécifier plusieurs options pour une
<command>
, pour une<subcommand>
ou de maniĂšre globale, utilisez une ligne par option.
Exemples
-
Pour sortir tous les rĂ©sultats dâanalyse gĂ©nĂ©rĂ©s par
codeql database analyze
au format CSV, vous devez spécifier :database analyze --format csv
Ici, vous devez spĂ©cifier la commande et la sous-commande pour Ă©viter que la mĂȘme option
--format
soit transférée aux commandes de bas niveau exécutées pendantdatabase analyze
. -
Pour dĂ©finir la RAM (4 096 Mo) et le nombre de threads (4) Ă utiliser pour lâexĂ©cution des commandes CodeQL, spĂ©cifiez les Ă©lĂ©ments suivants sur des lignes distinctes :
--ram 4096 --threads 4
-
Pour spĂ©cifier globalement un rĂ©pertoire dans lequel CodeQL recherche les packs CodeQL (qui ne soit pas un rĂ©pertoire frĂšre du rĂ©pertoire dâinstallation), utilisez :
--search-path <path-to-directory>