Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье https://github.com/github/codeql-cli-binaries/releases.
Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с --help
параметром в терминале.
Краткие сведения
codeql database index-files --language=<lang> [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>
codeql database index-files --language=<lang> [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>
Description
[Сантехника] Индексируйте автономные файлы с заданным извлекателем CodeQL.
Эта команда выбирает набор файлов в указанном рабочем каталоге и применяет к ним указанный средство извлечения. По умолчанию выбраны все файлы. Типичные вызовы указывают параметры для ограничения набора включенных файлов.
--exclude
Параметры --include
и --prune
параметры принимают шаблоны глобов, которые могут использовать следующие подстановочные знаки:
- Один символ "?" соответствует любому символу, отличному от косой черты вперед или назад;
- Один "*" соответствует любому количеству символов, отличных от косой черты вперед или назад;
- Шаблон "**" соответствует нулю или более полным компонентам каталога.
Параметры
Основные параметры
<database>
[Обязательный] Путь к базе данных CodeQL в стадии разработки. Это должно быть подготовлено для извлечения с помощью инициализации базы данных codeql.
-l, --language=<lang>
[Обязательный] Средство извлечения, которое должно использоваться для индексирования соответствующих файлов.
-j, --threads=<num>
Попросите средства извлечения использовать это множество потоков. Этот параметр передается в средство извлечения в качестве предложения. Если задана переменная среды CODEQL_THREADS, значение переменной среды имеет приоритет над этим параметром.
Вы можете передать 0 для использования одного потока на ядро на компьютере или -N, чтобы оставить неиспользуемые ядра N (за исключением того, что по-прежнему используется хотя бы один поток).
-M, --ram=<MB>
Попросите средство извлечения использовать эту большую память. Этот параметр передается в средство извлечения в качестве предложения. Если задана переменная среды ОЗУ CODEQL_, значение переменной среды имеет приоритет над этим параметром.
--working-dir=<dir>
[Дополнительно] Каталог, в котором должна выполняться указанная команда. Если этот аргумент не указан, команда выполняется в значении, переданном --source-root
в создание базы данных codeql, если она существует. Если аргумент не --source-root
указан, команда выполняется в текущем рабочем каталоге.
Параметры управления поведением средства извлечения
-O, --extractor-option=<extractor-option-name=value>
Задайте параметры для средств извлечения CodeQL. extractor-option-name
должен иметь имя средства извлечения_формы name.group1.group2.option_или имя group1.group2.option_. Если extractor_option_name
начинается с имени средства извлечения, указанный метод извлечения должен объявить имя option group1.group2.option_. В противном случае любой средство извлечения, объявляющее имя option group1.group2.option_, будет иметь набор параметров. value
может быть любой строкой, которая не содержит новую строку.
Этот параметр командной строки можно использовать многократно для задания нескольких параметров извлечения. Если вы предоставляете несколько значений для одного варианта извлечения, поведение зависит от типа, который ожидает параметр средства извлечения. Строковые параметры будут использовать последнее указанное значение. Параметры массива будут использовать все предоставленные значения в порядке. Параметры средства извлечения, указанные с помощью этого параметра командной строки, обрабатываются после использования --extractor-options-file
параметров средства извлечения.
При передаче в базу данных codeql инициализации или codeql database begin-tracing
параметры будут применяться только к среде косвенной трассировки. Если рабочий процесс также вызывает команду трассировки базы данных codeql, то при желании также необходимо передать параметры.
Дополнительные https://codeql.github.com/docs/codeql-cli/extractor-options сведения о параметрах средства извлечения CodeQL, включая перечисление параметров, объявленных каждым извлекателем.
--extractor-options-file=<extractor-options-bundle-file>
Укажите файлы пакета параметров извлечения. Файл пакета параметров извлечения — это JSON-файл (расширение) или YAML-файл (расширение .json``.yaml
или.yml
), который задает параметры средства извлечения. Файл должен иметь ключ карты верхнего уровня "extractor" и, под ним, имена средств извлечения в качестве ключей карты второго уровня. Дополнительные уровни карт представляют вложенные группы средств извлечения, а параметры строки и массива — это записи сопоставления со значениями строк и массивов.
Файлы пакета параметров извлечения считываются в указанном порядке.
Если разные файлы пакета параметров извлечения указывают один и тот же параметр извлечения, поведение зависит от типа, который ожидает параметр извлечения. Строковые параметры будут использовать последнее указанное значение. Параметры массива будут использовать все предоставленные значения в порядке. Параметры средства извлечения, указанные с помощью этого параметра командной строки, обрабатываются перед использованием --extractor-option
параметров средства извлечения.
При передаче в базу данных codeql инициализации или codeql database begin-tracing
параметры будут применяться только к среде косвенной трассировки. Если рабочий процесс также вызывает команду трассировки базы данных codeql, то при желании также необходимо передать параметры.
Дополнительные https://codeql.github.com/docs/codeql-cli/extractor-options сведения о параметрах средства извлечения CodeQL, включая перечисление параметров, объявленных каждым извлекателем.
Параметры ограничения набора индексированных файлов
--include-extension=<.ext>
Включите все файлы в дерево каталога поиска с заданным расширением. Как правило, перед расширением следует включить точку.
Например, передача --include-extension .xml
будет включать все файлы с расширением ".xml". Этот параметр несовместим с отрицающими --include
параметрами.
--include=<glob>
Включите все файлы и каталоги в дерево каталогов поиска, соответствующие заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Если глоб начинается с символа !
, вместо этого будут исключены соответствующие файлы и каталоги.
--include
параметры обрабатываются по порядку, при этом более поздние параметры переопределяют более ранние. Например, --include ** --include !sub/*.ts --include sub/main.*
будет включать sub/main.ts
(так как оно включается sub/main.*
), исключить sub/index.ts
(так как !sub/*.ts
оно исключается) и включить sub/test.js
(поскольку оно включается **
без последующего исключения).)
--also-match=<glob>
Требовать, чтобы все результаты соответствовали заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Этот параметр имеет ту же структуру и ту же интерпретацию, что --include
и указать отдельную последовательность глобов, применяемых в сочетании с --include
.
--exclude=<glob>
Исключите все файлы и каталоги, соответствующие заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Этот параметр переопределяет все параметры включения. Этот параметр несовместим с отрицающими --include
параметрами.
--prune=<glob>
Исключите все файлы и каталоги, соответствующие заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Этот параметр переопределяет все параметры включения. Этот параметр несовместим с отрицающими --include
параметрами.
--size-limit=<bytes>
Исключите все файлы, размер которых превышает заданное ограничение. Ограничение размера в байтах или в кибибайтах (KiB) с суффиксом "k", в mebibytes (MiB) с суффиксом "m" и в гибибайтах (GiB) с суффиксом "g". Этот параметр переопределяет все параметры включения.
--total-size-limit=<bytes>
Выполните выход команды с ошибкой, если общий размер всех разрешенных файлов превысит заданное ограничение. Ограничение размера в байтах или в кибибайтах (KiB) с суффиксом "k", в mebibytes (MiB) с суффиксом "m" и в гибибайтах (GiB) с суффиксом "g".
--[no-]follow-symlinks
Следуйте любым символьным ссылкам на их цели.
--[no-]find-any
Найти не более одного совпадения (в отличие от всех совпадений).
Доступно с момента v2.11.3
.
Распространенные параметры
-h, --help
Отображение этого текста справки.
-J=<opt>
[Дополнительно] Укажите параметр JVM, выполняя команду.
(Убедитесь, что параметры, содержащие пробелы, не будут обрабатываться правильно.)
-v, --verbose
Постепенно увеличьте число отображаемых сообщений о ходе выполнения.
-q, --quiet
Постепенно уменьшайте количество отображаемых сообщений о ходе выполнения.
--verbosity=<level>
[Дополнительно] Явным образом задайте уровень детализации на одну из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v
и -q
.
--logdir=<dir>
[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющегося подкоманда.
(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого предоставьте --log-to-stderr
и перенаправите stderr по мере необходимости.)
--common-caches=<dir>
[Дополнительно] Управляет расположением кэшированных данных на диске, которые будут сохраняться между несколькими запусками интерфейса командной строки, такими как скачанные пакеты QL и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем .codeql
в домашнем каталоге пользователя; он будет создан, если он еще не существует.
Доступно с момента v2.15.2
.