В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.
Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help
.
Краткий обзор
codeql pack download [--dir=<dir>] [--force] <options>... -- <scope/name[@version]|suite.qls>...
Описание
[Экспериментальная версия. Скачайте из реестра набор пакетов qlpack, на которые ссылается спецификация запроса командной строки. Пакеты могут быть предоставлены по имени или неявно внутри файла набора запросов (QLS).
Пакеты будут загружены и распакуются в кэш пакетов по умолчанию.
Доступно начиная с v2.6.0
.
Основные параметры
<scope/name[@version]|suite.qls>...
[Обязательный] Список пакетов CodeQL и наборов запросов для скачивания. Если предоставляется набор запросов, будут проверены его инструкции и скачиваются все указанные пакеты CodeQL. Если не указать версию для пакета CodeQL, будет загружена последняя версия.
--format=<fmt>
Выберите формат вывода (text
по умолчанию) или json
.
-d, --dir=<dir>
Каталог, в который нужно скачать пакет. По умолчанию устанавливается в кэш пакетов.
--for-pack=<pack>
Пакет, зависимости которого загружаются. Реестр пакетов для каждого пакета определяется свойством registries объекта \
--[no-]allow-prerelease
Разрешить использование пакетов с квалификаторами предварительной версии (например, X.Y.Z-qualifier
). Без этого флага пакеты предварительной версии будут игнорироваться.
Доступно начиная с v2.11.3
.
-f, --[no-]force
Разрешить перезапись уже существующих пакетов.
Параметры поиска пакетов QL (которые могут потребоваться для интерпретации наборов запросов)
--search-path=<dir>[:<dir>...]
Список каталогов, в которых можно найти пакеты QL. Каждый каталог может быть либо пакетом QL (или пакетом пакетов, содержащим файл в корневом .codeqlmanifest.json
каталоге), либо непосредственным родительским элементом одного или нескольких таких каталогов.
Если путь содержит несколько каталогов, их порядок определяет приоритет между ними: если имя пакета, которое необходимо разрешить, совпадает в нескольких деревьях каталогов, то первое из них выигрывает.
Указание на это при извлечении репозитория CodeQL с открытым кодом должно работать при запросе одного из языков, которые там живут.
Если вы извлекли репозиторий CodeQL как одноуровневый элемент распакованой цепочки инструментов CodeQL, вам не нужно предоставлять этот параметр. В таких каталогах всегда будет выполняться поиск пакетов QL, которые невозможно найти в противном случае. (Если это значение по умолчанию не работает, настоятельно рекомендуется выполнить настройку --search-path
раз и навсегда в файле конфигурации для каждого пользователя.
(Примечание. В Windows разделитель пути — ).;
--additional-packs=<dir>[:<dir>...]
Если указан этот список каталогов, они будут искать пакеты перед теми, которые в --search-path
. Порядок между ними не имеет значения; Это ошибка, если имя пакета найдено в двух разных местах в этом списке.
Это полезно, если вы временно разрабатываете новую версию пакета, которая также отображается в пути по умолчанию. С другой стороны, не рекомендуется переопределять этот параметр в файле конфигурации. некоторые внутренние действия добавляют этот параметр на лету, переопределяя любое настроенное значение.
(Примечание. В Windows разделитель пути — ).;
Параметры настройки диспетчера пакетов CodeQL
--registries-auth-stdin
Выполните проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передав список пар, \<registry_url>=\
Например, можно передать https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
для проверки подлинности в двух экземплярах GitHub Enterprise Server.
Это переопределяет переменные среды AUTH CODEQL_REGISTRIES_и токена GITHUB_. Если вам нужно пройти проверку подлинности только в реестре контейнеров github.com, можно использовать более --github-auth-stdin
простой вариант.
--github-auth-stdin
Проверка подлинности в реестре контейнеров github.com путем передачи маркера github.com GitHub Apps или личного маркера доступа через стандартные входные данные.
Для проверки подлинности в реестрах контейнеров GitHub Enterprise Server передайте --registries-auth-stdin
или используйте переменную среды CODEQL_REGISTRIES_AUTH.
Это переопределяет переменную среды GITHUB_TOKEN.
Общие параметры
-h, --help
Показать этот текст справки.
-J=<opt>
[Дополнительно] Предоставьте параметр виртуальной машине Java, запустив команду .
(Остерегайтесь, что параметры, содержащие пробелы, будут обрабатываться неправильно.)
-v, --verbose
Добавочное увеличение числа выводемых сообщений о ходе выполнения.
-q, --quiet
Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.
--verbosity=<level>
[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v
и -q
.
--logdir=<dir>
[Дополнительно] Запись подробных журналов в один или несколько файлов в заданном каталоге с созданными именами, включая метки времени и имя выполняющейся подкоманды.
(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr
и перенаправьте stderr.)