В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.
Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help
.
Краткий обзор
codeql pack resolve-dependencies <options>... -- <dir>
Описание
[Экспериментальная] [Сантехника] Вычисление набора необходимых зависимостей для этого пакета QL.
Эта команда выполняет поиск необходимых зависимостей в настроенных реестрах и возвращает список разрешенных зависимостей.
Доступно начиная с v2.6.0
.
Основные параметры
<dir>
Корневой каталог пакета.
--format=<fmt>
Выберите формат вывода (text
по умолчанию) или json
.
--mode=<mode>
Указывает способ разрешения зависимостей:
minimal-update
(по умолчанию): обновите или создайте codeql-pack.lock.yml на основе существующего содержимого файла qlpack.yml. Если какой-либо существующий codeql-pack.lock.yml не удовлетворяет текущим зависимостям в qlpack.yml, файл блокировки будет обновлен при необходимости.
upgrade
: обновите или создайте codeql-pack.lock.yml для использования последних версий всех зависимостей с учетом ограничений в файле qlpack.yml.
verify
: убедитесь, что существующий codeql-pack.lock.yml по-прежнему действителен в отношении зависимостей, указанных в файле qlpack.yml, или сбой файла блокировки, если он не существует.
no-lock
: игнорирует существующий codeql-pack.lock.yml и выполняет разрешение на основе файла qlpack.yml. Не создает и не обновляет файл блокировки.
use-lock
: используйте существующий файл codeql-pack.lock.yml для разрешения зависимостей или создайте файл блокировки, если он не существует.
update
: [не рекомендуется] Обновление или создание codeql-pack.lock.yml для использования последних версий всех зависимостей с учетом ограничений в файле qlpack.yml. Эквивалент "upgrade"
--[no-]allow-prerelease
Разрешить использование пакетов с квалификаторами предварительной версии (например, X.Y.Z-qualifier
). Без этого флага пакеты предварительной версии будут игнорироваться.
Доступно начиная с v2.11.3
.
--no-strict-mode
[Дополнительно] Отключите строгий режим, чтобы избежать предупреждения при разрешении пакетов из --additional-packs
и другие локально разрешенные расположения. Пакеты, разрешенные локально, никогда не загружаются
и не будут добавлены в блокировку пакета.
--lock-override=<file>
[Дополнительно] Указывает альтернативный файл блокировки, который будет использоваться в качестве входных данных для разрешения зависимостей.
Параметры разрешения пакетов 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.
Это переопределяет переменные среды CODEQL_REGISTRIES_AUTH и GITHUB_TOKEN. Если вам нужно пройти проверку подлинности только в реестре контейнеров 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>
[Дополнительно] Предоставьте параметр виртуальной машине JVM, выполняющую команду .
(Остерегайтесь, что параметры, содержащие пробелы, будут обрабатываться неправильно.)
-v, --verbose
Постепенно увеличивайте количество выводемых сообщений о ходе выполнения.
-q, --quiet
Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.
--verbosity=<level>
[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, progress, progress+, progress++, progress+++. Переопределяет -v
и -q
.
--logdir=<dir>
[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющейся подкоманды.
(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr
и перенаправьте stderr.)