Remarque
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 resolve library-path (--query=<qlfile> | --dir=<dir> | --root-pack=<pkgname>) <options>...
codeql resolve library-path (--query=<qlfile> | --dir=<dir> | --root-pack=<pkgname>) <options>...
Description
[Plomberie profonde] DĂ©termine le chemin de la bibliothĂšque QL et le schĂ©ma de base de donnĂ©es pour une requĂȘte.
DĂ©termine le chemin de la bibliothĂšque QL oĂč une requĂȘte particuliĂšre doit ĂȘtre compilĂ©e. Ce calcul est implicite dans plusieurs sous-commandes qui peuvent avoir besoin de compiler des requĂȘtes. Elle est exposĂ©e en tant que commande de plomberie distincte pour (a) aider Ă rĂ©soudre les problĂšmes et (b) fournir un point de dĂ©part pour modifier le chemin dans des cas extraordinaires oĂč un contrĂŽle prĂ©cis est nĂ©cessaire.
La commande dĂ©tecte Ă©galement un langage et un schĂ©ma de base de donnĂ©es avec lesquels compiler une requĂȘte, car ceux-ci peuvent Ă©galement dĂ©pendre de la dĂ©tection automatique du langage dâune requĂȘte QL.
La commande est profondĂ©ment interne et son comportement ou son existence peut changer sans trop faire de bruit Ă mesure que lâĂ©cosystĂšme du langage QL Ă©volue.
Options
Options principales
--[no-]find-extractors
[Avancé] Inclut dans la sortie un résumé des champs extractor
des packs QL dont dĂ©pend la requĂȘte. UtilisĂ©e uniquement pour quelques cas internes rares, elle peut demander plus de travail pour le calcul, donc elle nâest pas activĂ©e par dĂ©faut.
--format=<fmt>
Sélectionne le format de sortie. Les options sont les suivantes :
lines
(par défaut) : Affiche les arguments de ligne de commmande sur une ligne chacun.
json
: Affiche un objet JSON avec toutes les données.
path
: Affiche juste le chemin de la bibliothÚque calculée.
dbscheme
: Affiche juste le schéma de base de données détecté.
cache
: Affiche lâemplacement du cache de compilation par dĂ©faut, ou rien sâil nây en a pas.
Options de la ligne de commande de la commande appelante
--search-path=<dir>[:<dir>...]
Liste des rĂ©pertoires sous lesquels les packs QL peuvent ĂȘtre trouvĂ©s. Chaque rĂ©pertoire peut ĂȘtre un pack QL (ou un bundle de packs contenant un fichier .codeqlmanifest.json
Ă la racine) ou le parent immĂ©diat dâun ou plusieurs de ces rĂ©pertoires.
Si le chemin contient plusieurs rĂ©pertoires, leur ordre dĂ©finit la prioritĂ© entre eux : quand un nom de pack qui doit ĂȘtre rĂ©solu est mis en correspondance dans plusieurs arborescences de rĂ©pertoires, celle donnĂ©e en premier gagne.
Le pointage de ce chemin vers une extraction du dĂ©pĂŽt CodeQL open source devrait fonctionner lors de lâinterrogation dâun des langages qui y rĂ©sident.
Si vous avez extrait le dĂ©pĂŽt CodeQL en tant que frĂšre de la chaĂźne dâoutils CodeQL dĂ©compressĂ©e, vous nâavez pas besoin de donner cette option ; ces rĂ©pertoires frĂšres sont toujours recherchĂ©s pour les packs QL qui ne peuvent pas ĂȘtre trouvĂ©s autrement. (Si cette valeur par dĂ©faut ne fonctionne pas, il est fortement recommandĂ© de configurer --search-path
une fois pour toutes dans un fichier de configuration par utilisateur).
(Remarque : Sur Windows, le séparateur de chemin est ;
.)
--additional-packs=<dir>[:<dir>...]
Si cette liste de répertoires est donnée, des packs y sont recherchés avant ceux indiqués dans --search-path
. Lâordre entre eux nâa pas dâimportance ; il sâagit dâune erreur si un nom de pack est trouvĂ© dans deux rĂ©pertoires diffĂ©rents de cette liste.
Cette option est utile si vous dĂ©veloppez temporairement une nouvelle version dâun pack qui apparaĂźt aussi dans le chemin par dĂ©faut. En revanche, il nâest pas recommandĂ© de remplacer cette option dans un fichier de configuration ; certaines actions internes ajoutent cette option Ă la volĂ©e, remplaçant toute valeur configurĂ©e.
(Remarque : Sur Windows, le séparateur de chemin est ;
.)
--library-path=<dir>[:<dir>...]
[AvancĂ©] Liste facultative des rĂ©pertoires qui sont ajoutĂ©s au chemin de recherche dâimportation brut pour les bibliothĂšques QL. Doit ĂȘtre utilisĂ© seulement si vous utilisez des bibliothĂšques QL qui nâont pas Ă©tĂ© empaquetĂ©es en tant que packs QL.
(Remarque : Sur Windows, le séparateur de chemin est ;
.)
--dbscheme=<file>
[AvancĂ©] DĂ©finit explicitement les requĂȘtes de schĂ©ma de base de donnĂ©es Ă compiler. Ne doit ĂȘtre donnĂ© que par les appelants qui sont extrĂȘmement sĂ»rs de ce quâils font.
--compilation-cache=<dir>
[Avancé] Spécifie un répertoire supplémentaire à utiliser comme cache de compilation.
--no-default-compilation-cache
[AvancĂ©] Nâutilise pas de caches de compilation dans des emplacements standard, comme dans le pack QL contenant la requĂȘte ou dans le rĂ©pertoire de la chaĂźne dâoutils CodeQL.
Options pour configurer le gestionnaire de package CodeQL
--registries-auth-stdin
Permet de vous authentifier auprÚs des registres de conteneurs GitHub Enterprise Server en passant une liste de paires <registry_url>=<token> séparées par des virgules.
Par exemple, vous pouvez passer https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
pour vous authentifier auprĂšs de deux instances GitHub Enterprise Server.
Cela remplace les variables dâenvironnement CODEQL_REGISTRIES_AUTH et GITHUB_TOKEN. Si vous avez seulement besoin de vous authentifier auprĂšs du registre de conteneurs github.com, vous pouvez vous authentifier en utilisant lâoption plus simple --github-auth-stdin
.
--github-auth-stdin
Permet de vous authentifier auprĂšs du registre de conteneurs github.com en passant un jeton github.com GitHub Apps ou un jeton dâaccĂšs personnel via une entrĂ©e standard.
Pour vous authentifier auprĂšs des registres de conteneurs GitHub Enterprise Server, passez --registries-auth-stdin
ou utilisez la variable dâenvironnement CODEQL_REGISTRIES_AUTH.
Cela remplace la variable dâenvironnement GITHUB_TOKEN.
Options pour spécifier ce que nous sommes sur le point de compiler
Exactement lâune de ces options doit ĂȘtre donnĂ©e.
--query=<qlfile>
Chemin du fichier QL que nous voulons compiler.
Son rĂ©pertoire et les rĂ©pertoires parents feront lâobjet de recherches pour trouver les fichiers qlpack.yml ou les fichiers queries.xml hĂ©ritĂ©s afin de dĂ©terminer les packs nĂ©cessaires.
--dir=<dir>
RĂ©pertoire racine du pack contenant les requĂȘtes Ă compiler.
--root-pack=<pkgname>
[AvancĂ©] Nom dĂ©clarĂ© dâun pack Ă utiliser comme racine pour la rĂ©solution des dĂ©pendances.
UtilisĂ© lorsque le pack peut ĂȘtre trouvĂ© par nom quelque part dans le chemin de recherche. Si vous connaissez lâemplacement du disque de votre package racine souhaitĂ©, faites comme sâil contenait un fichier .ql et utilisez --query
Ă la place.
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
.