Skip to main content

зависимости разрешения пакета

[Экспериментальный][Сантехника] Вычислить набор необходимых зависимостей для этого пакета QL.

GitHub CodeQL лицензируется для каждого пользователя после установки. CodeQL можно использовать только для определенных задач с ограничениями лицензии. Дополнительные сведения см. в разделе Сведения о CodeQL CLI.

Если у вас есть лицензия на GitHub Advanced Security, вы можете использовать CodeQL для автоматического анализа, непрерывной интеграции и непрерывной поставки. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help .

Краткий обзор

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

Это переопределяет переменные среды 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.)