Skip to main content

Spécification des options de commande dans un fichier de configuration CodeQL

Vous pouvez enregistrer les options de commande par défaut dans un fichier de configuration CodeQL.

Qui peut utiliser cette fonctionnalité ?

CodeQL est disponible pour les types de rĂ©fĂ©rentiels suivants :

À 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 pendant database 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>