À 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
Remarques :
- 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>