Note
Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье https://github.com/github/codeql-cli-binaries/releases.
Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с --help
параметром в терминале.
Краткие сведения
codeql pack create [--output=<output>] [--threads=<num>] [--ram=<MB>] <options>... -- <dir>
codeql pack create [--output=<output>] [--threads=<num>] [--ram=<MB>] <options>... -- <dir>
Description
[Сантехника] Создает содержимое пакета QL из исходного кода.
Эта команда создает полное содержимое пакета QL, включая исходный исходный код, зависимости библиотеки, скомпилированные запросы и метаданные пакета.
Доступно с момента v2.6.0
.
Параметры
Основные параметры
<dir>
Корневой каталог пакета.
-o, --output=<output>
Выходной каталог для записи встроенного пакета в.
По умолчанию — ./.codeql/pack
.
--format=<fmt>
Выберите выходной формат либо (по умолчанию),_ либо text
_json
.
-j, --threads=<num>
Используйте это множество потоков для компиляции запросов.
По умолчанию равен 1. Вы можете передать 0 для использования одного потока на ядро на компьютере или -N, чтобы оставить неиспользуемые ядра N (за исключением того, что по-прежнему используется хотя бы один поток).
-M, --ram=<MB>
Задайте общий объем ОЗУ, который должен использоваться компилятором.
--no-precompile
[Дополнительно] Избегайте предварительной компиляции кэша компиляции в выходном каталоге пакета. Это уменьшит размер пакета и время его создания, но потребует компиляции перед запуском пакета. Доступно только для пакетов запросов.
--no-validate-extensions
[Дополнительно] Избегайте проверки расширений данных в рамках шага компиляции.
Доступно с момента v2.13.3
.
--no-overwrite
[Дополнительно] Избегайте повторной компиляции и перезаписи существующих скомпилированных выходных данных из предыдущего вызова этой команды.
Параметры настройки среды компиляции
--search-path=<dir>[:<dir>...]
Список каталогов, в которых можно найти пакеты QL. Каждый каталог может быть пакетом QL (или пакетом пакетов, содержащих .codeqlmanifest.json
файл в корневом каталоге) или непосредственным родительским элементом одного или нескольких таких каталогов.
Если путь содержит несколько каталогов, их порядок определяет приоритет между ними: когда имя пакета, которое должно быть разрешено, совпадает с несколькими деревьями каталогов, то один из первых побед.
Указывая это на проверка из репозитория CodeQL с открытым исходным кодом, должен работать при запросе одного из языков, активных там.
Если вы проверка из репозитория CodeQL в качестве брата непакованной цепочки инструментов CodeQL, вам не нужно предоставить этот параметр. Такие каталоги с братом всегда будут искать пакеты QL, которые не удается найти в противном случае. (Если это значение по умолчанию не работает, настоятельно рекомендуется настроить --search-path
один раз и для всех в файле конфигурации для каждого пользователя).
(Примечание. В Windows разделитель путей имеет значение ;
).
--additional-packs=<dir>[:<dir>...]
Если указан этот список каталогов, они будут искать пакеты до тех, в которых они есть --search-path
. Порядок между ними не имеет значения; Это ошибка, если имя пакета найдено в двух разных местах в этом списке.
Это полезно, если вы временно разрабатываете новую версию пакета, который также отображается в пути по умолчанию. С другой стороны, не рекомендуется переопределить этот параметр в файле конфигурации. Некоторые внутренние действия будут добавлять этот параметр на лету, переопределяя любое настроенное значение.
(Примечание. В Windows разделитель путей имеет значение ;
).
--library-path=<dir>[:<dir>...]
[Дополнительно] Необязательный список каталогов, которые будут добавлены в путь поиска необработанных импортов для библиотек QL. Это следует использовать только в том случае, если вы используете библиотеки QL, которые не были упакованы как пакеты QL.
(Примечание. В Windows разделитель путей имеет значение ;
).
--dbscheme=<file>
[Advanced] Явно определяет, какие запросы dbscheme следует скомпилировать. Это должно быть дано только вызывающими, которые крайне уверены, что они делают.
--compilation-cache=<dir>
[Дополнительно] Укажите дополнительный каталог для использования в качестве кэша компиляции.
--no-default-compilation-cache
[Дополнительно] Не используйте кэши компиляции в стандартных расположениях, например в пакете QL, содержашем запрос или в каталоге цепочки инструментов CodeQL.
Параметры настройки диспетчера пакетов CodeQL
--registries-auth-stdin
Проверка подлинности в реестрах контейнеров GitHub Enterprise Server путем передачи <registry_url>=<token> разделенного запятыми списка пар.
Например, можно передать https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
для проверки подлинности на двух экземплярах GitHub Enterprise Server.
При этом переопределяются переменные среды маркера токена CODEQL_И_AUTH и GITHUB_. Если вам нужно выполнить проверку подлинности только в реестре контейнеров github.com, можно вместо этого выполнить проверку подлинности с помощью более --github-auth-stdin
простого параметра.
--github-auth-stdin
Проверка подлинности в реестре контейнеров github.com путем передачи маркера github.com GitHub Apps или личного маркера доступа через стандартные входные данные.
Чтобы пройти проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передайте --registries-auth-stdin
или используйте переменную среды AUTH CODEQL_REGISTRIES_.
Это переопределяет переменную среды токена GITHUB_.
Распространенные параметры
-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
.