Skip to main content

resolve files

[Asociación profunda] Expande un conjunto de elementos glob de inclusión o exclusión de archivos.

¿Quién puede utilizar esta característica?

Las licencias de GitHub CodeQL se otorgan por usuario tras la instalación. Puedes usar CodeQL solo para determinadas tareas según las restricciones de las licencias. Para obtener más información, vea «Acerca de la CLI de CodeQL».

Si tienes una licencia de GitHub Advanced Security, puedes usar CodeQL para el análisis automatizado, la integración continua y la entrega continua. Para obtener más información, vea «Acerca de GitHub Advanced Security».

En este contenido se describe la versión más reciente de CodeQL CLI. 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

Shell
codeql resolve files <options>... -- <dir>

Descripción

[Asociación profunda] Expande un conjunto de elementos glob de inclusión o exclusión de archivos.

Este comando de asociación es responsable de expandir los parámetros de línea de comandos de los subcomandos que operan en varios archivos, identificados por sus rutas de acceso. De forma predeterminada se incluyen todos los archivos, por lo que la ejecución de este comando sin ningún argumento de filtro recopilará todos los archivos en un directorio.

Las opciones --include, --exclude y --prune adoptan todas elementos glob, que pueden usar los caracteres comodín siguientes:

  • Un solo "?" coincide con cualquier carácter que no sea una barra diagonal o barra diagonal invertida.
  • Una sola "*" coincide con cualquier número de caracteres distintos de una barra diagonal o barra diagonal invertida.
  • El patrón "**" coincide con cero o más componentes de directorio completos.

Opciones

Opciones principales

<dir>

Directorio en el que se va a buscar.

--format=<fmt>

Selecciona el formato de salida, ya sea text (predeterminado) o json.

Opciones para limitar el conjunto de archivos recopilados

--include-extension=<.ext>

Incluye todos los archivos en el árbol de directorios de búsqueda que tenga la extensión especificada. Normalmente, debes incluir el punto delante de la extensión. Por ejemplo, si se pasa --include-extension .xml, se incluirán todos los archivos con la extensión ".xml". Esta opción no es compatible con las opciones --include negadas.

--include=<glob>

Incluye todos los archivos y directorios del árbol de directorios de búsqueda que coincidan con el elemento glob dado; para ello, se usa la ruta de acceso relativa de cada archivo y directorio del directorio de búsqueda. Si el elemento glob comienza con un carácter !, los archivos y directorios coincidentes se excluirán.

Las opciones --include se procesan en orden, donde las opciones posteriores reemplazan a las anteriores. Por ejemplo, --include ** --include !sub/*.ts --include sub/main.* incluiría sub/main.ts (porque lo incluye sub/main.*), excluiría sub/index.ts (porque lo excluye !sub/*.ts) e incluiría sub/test.js (porque lo incluye ** sin que se excluya posteriormente).

--also-match=<glob>

Requiere que todos los resultados coincidan también con el elemento glob especificado y usa la ruta de acceso relativa de cada archivo y directorio del directorio de búsqueda. Esta opción tiene la misma estructura e interpretación que --include, pero especifica una secuencia distinta de elementos glob que se aplican junto con --include.

--exclude=<glob>

Excluye todos los archivos y directorios que coincidan con el elemento glob dado; para ello, se usa la ruta de acceso relativa de cada archivo y directorio desde el directorio de búsqueda. Esta opción invalida todas las opciones de inclusión. Esta opción no es compatible con las opciones --include negadas.

--prune=<glob>

Excluye todos los archivos y directorios que coincidan con el elemento glob dado; para ello, se usa la ruta de acceso relativa de cada archivo y directorio desde el directorio de búsqueda. Esta opción invalida todas las opciones de inclusión. Esta opción no es compatible con las opciones --include negadas.

--size-limit=<bytes>

Excluye todos los archivos cuyo tamaño supera el límite especificado. El límite de tamaño se muestra en bytes o en kibibytes (KiB) con el sufijo "k", en mebibytes (MiB) con el sufijo "m" y en gibibytes (GiB) con el sufijo "g". Esta opción invalida todas las opciones de inclusión.

--total-size-limit=<bytes>

Hace que el comando salga con un error si el tamaño combinado de todos los archivos resueltos superara el límite especificado. El límite de tamaño se muestra en bytes o en kibibytes (KiB) con el sufijo "k", en mebibytes (MiB) con el sufijo "m" y en gibibytes (GiB) con el sufijo "g".

Sigue los vínculos simbólicos a sus destinos.

--[no-]find-any

Busca como máximo una coincidencia (en lugar de todas las coincidencias).

Disponible desde la versión v2.11.3.

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).

--common-caches=<dir>

[Avanzado] Controla la ubicación de los datos en caché del disco que se conservarán entre varias ejecuciones de la CLI, como paquetes QL descargados y planes de consulta compilada. Si no se define explícitamente, se toma como predeterminado un directorio denominado .codeql en el directorio principal del usuario, que se creará en caso de que no exista.

Disponible desde la versión v2.15.2.