En este contenido se describe la versión más reciente de la CLI de CodeQL. Para obtener más información sobre esta versión, consulta https://github.com/github/codeql-cli-binaries/releases.
Para ver detalles de las opciones disponibles para este comando en una versión anterior, ejecuta el comando con la opción --help
en el terminal.
Sinopsis
codeql resolve qlpacks <options>...
Descripción
Crea una lista de paquetes de QL instalados y sus ubicaciones.
Este comando de asociación crea una lista de paquetes de QL que se pueden resolver dada la ruta de acceso de búsqueda configurada (o especificada).
Cuando se ejecuta con la salida JSON seleccionada, puede notificar varias ubicaciones para cada nombre de paquete. Cuando esto sucede, significa que el paquete tiene ubicaciones en conflicto dentro de un solo elemento de búsqueda, por lo que realmente no se puede resolver. El autor de llamada puede usar las ubicaciones reales para dar formato a un mensaje de error.
Opciones principales
--search-path=<dir>[:<dir>...]
Lista de directorios donde pueden encontrarse los paquetes de QL. Cada directorio puede ser un paquete de QL (o un conjunto de paquetes que contienen un archivo .codeqlmanifest.json
en la raíz) o el elemento primario inmediato de uno o varios directorios de este tipo.
Si la ruta de acceso contiene más de un directorio, su orden define la prioridad entre ellos: cuando un nombre de paquete que se debe resolver tiene coincidencias en más de uno de los árboles de directorio, tiene prioridad el que se indica primero.
Apuntar esto a una extracción del repositorio CodeQL de código abierto debería funcionar al consultar uno de los lenguajes que residen allí.
Si has extraído del repositorio CodeQL como un elemento del mismo nivel de la cadena de herramientas de CodeQL desempaquetada, no es necesario proporcionar esta opción; siempre se realizarán búsquedas en estos directorios del mismo nivel de paquetes de QL que no se encuentren de otra manera (si este valor no funciona, se recomienda encarecidamente configurar --search-path
de una vez en un archivo de configuración por usuario).
(Nota: En Windows, el separador de ruta de acceso es ;
).
--additional-packs=<dir>[:<dir>...]
Si se da esta lista de directorios, se buscarán paquetes en ellos antes que en los incluidos en --search-path
. El orden entre ellos no importa; si se encuentra un nombre de paquete en dos lugares diferentes de esta lista es un error.
Esto resulta útil si estás desarrollando temporalmente una nueva versión de un paquete que también aparece en la ruta de acceso predeterminada. Por otro lado, no se recomienda reemplazar esta opción en un archivo de configuración; algunas acciones internas agregarán esta opción sobre la marcha y reemplazarán cualquier valor configurado.
(Nota: En Windows, el separador de ruta de acceso es ;
).
--kind=<kind>
Especifica qué tipo de paquetes se van a devolver. Las opciones son: query
, library
, extension
y all
(predeterminado).
Ten en cuenta que los paquetes de extensiones son un tipo de paquete de biblioteca y se incluyen cuando el tipo es library
.
--format=<fmt>
Selecciona el formato de salida, ya sea text
(valor predeterminado) o json
.
--no-recursive
No recorras las dependencias. Devuelve solo aquellos paquetes a los que se puede acceder directamente desde --additional-packs
, --search-path
y la distribución.
Opciones para configurar el administrador de paquetes de CodeQL
--registries-auth-stdin
Autentícate en los registros de contenedores de servidor de GitHub Enterprise; para ello, pasa una lista separada por comas de pares \<registry_url>=\
Por ejemplo, puedes pasar https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
para autenticarte en dos instancias del servidor de GitHub Enterprise.
Esto invalida las variables de entorno CODEQL_REGISTRIES_AUTH y GITHUB_TOKEN. Si solo necesitas autenticarte en el registro de contenedor de github.com, puedes autenticarte en su lugar mediante la opción --github-auth-stdin
más sencilla.
--github-auth-stdin
Autentícate en el registro de contenedores de github.com; para ello, pasa un token de aplicaciones de GitHub en github.com o un token de acceso personal mediante la entrada estándar.
Para autenticarte en los registros de contenedores de servidor de GitHub Enterprise, pasa --registries-auth-stdin
o usa la variable de entorno CODEQL_REGISTRIES_AUTH.
Esto invalida la variable de entorno GITHUB_TOKEN.
Opciones comunes
-h, --help
Muestra este texto de ayuda.
-J=<opt>
[Avanzado] Asigna la opción a la JVM que ejecuta el comando.
(Ten en cuenta que las opciones que contienen espacios no se administrarán correctamente).
-v, --verbose
Aumenta incrementalmente el número de mensajes de progreso impresos.
-q, --quiet
Reduce incrementalmente el número de mensajes de progreso impresos.
--verbosity=<level>
[Avanzado] Establece explícitamente el nivel de detalle en errores, advertencias, progreso, progreso+, progreso++, progreso+++. Invalida -v
y -q
.
--logdir=<dir>
[Avanzado] Escribe registros detallados en uno o varios archivos del directorio especificado, con nombres generados que incluyen marcas de tiempo y el nombre del subcomando en ejecución.
(Para escribir un archivo de registro con un nombre sobre el que tienes control total, proporciona --log-to-stderr
y redirige stderr como quieras).