Инструменты и выполнение

CLI и диагностика

Выберите команду Топаза по задаче и поймите её успешное завершение, ошибку и восстановление.

CLI применяет одинаковые разбор, разрешение модулей и статическую проверку к одному файлу и пакету. Команда выбирает действие после этого общего барьера.

Форматирование перед проверкой

В рецензировании и автоматизации используйте fmt --check. Команда сообщает обо всех файлах, отличных от канонического форматирования, завершается ненулевым кодом и ничего не записывает.

BASH
topaz fmt --check --root my-app
topaz fmt --root my-app

Вторая команда применяет форматирование; после неё повторите первую. В пакетном режиме пропускаются зависимости, скопированные в проект, и результаты сборки.

Проверка без запуска

BASH
topaz check main.tpz
topaz check --root my-app --locked
topaz check --format json main.tpz

Чистая проверка завершается с кодом 0. Диагностика содержит место в исходнике, стабильный код TPZ####, краткое сообщение и нужные подробности. Режим JSON выдаёт стабильные данные для инструментов. Пользовательский код не запускается, продукт развёртывания не записывается.

BASH
topaz explain TPZ5021
topaz explain TPZ5021 --json

Исправьте первую диагностику и снова запустите check: последующие ошибки могут быть её следствием. explain раскрывает известный код, но не меняет исходник.

Тестирование и запуск

BASH
topaz test --root my-app --locked
topaz test tests/summary.tpz --root my-app --locked
topaz run --root my-app --locked
topaz run main.tpz -- arg1 arg2

test использует проверенную детерминированную тестовую среду. Неудачное утверждение, статическая диагностика или ошибка среды выполнения дают ненулевой код. Выбранный с --root тестовый файл сохраняет манифест, файл блокировки, модули и зависимости пакета.

run выполняет проверенный командный вход в интерпретаторе. Аргументы после -- передаются в main. Пакеты Web Application и HTTP используют для разработки на адресе обратной петли команду topaz dev, потому что их наблюдаемый продукт — браузерное приложение или сервис, а не команда.

Сборка одной цели поставки

BASH
topaz build main.tpz --out-dir native-product
topaz build --target python --root my-app --locked --out-dir python-product
topaz build --root my-app --locked --release --out-dir product

build сначала проверяет программу, затем записывает запрошенный управляемый продукт. Для платформенной, браузерной и HTTP-сборки нужны соответствующие внешние компоненты Rust; Python требуется при запуске Python-продукта. Статическая ошибка останавливает создание артефакта. Ошибка внешнего инструмента сообщается после основного этапа Топаза и также даёт ненулевой код.

Если каталог вывода содержит другую цель, неверный манифест артефакта или изменённые управляемые байты, Топаз не угадывает владельца. Сохраните каталог для анализа и выберите новый пустой --out-dir.

Границы пакета и машинного интерфейса

Если опустить входной файл и передать --root, используется точка входа из topaz.toml. --locked требует соответствия текущего манифеста и локального содержимого зависимостей файлу topaz.lock. Аргументы программы всегда идут после --.

--unchecked — обходной путь для исследования компилятора, а не обычная команда приложения. Он снимает статический барьер и не должен использоваться, чтобы представить неудачную проверенную сборку успешной.

Связанная документация