Используйте эту последовательность команд при изменении учебного плана из раздела Первое приложение. Проверьте исходники, запустите тест и пересоберите исполняемый файл для поставки.
Выполняйте команды из папки с topaz.toml. Она называется study-plan или source-unavailable, если вы выполнили упражнение с переименованием. Для работы с исходниками нужен topaz, а для платформенной сборки ещё и инструментарий Rust для вашей платформы.
Проверьте настройки проекта
В руководстве создаются следующий topaz.toml, а также src/main.tpz, src/plan.tpz и tests/plan.tpz. Если начинаете новый проект, возьмите полные исходные файлы из руководства.
[package]
name = "study-plan"
version = "0.1.0"
language = "5.20"
entry = "src/main.tpz"
[build]
target = "native"
deterministic = true
[dependencies]
std = "5.20"entry выбирает src/main.tpz для запуска. target = "native" задаёт сборку исполняемого файла. После создания или изменения манифеста обновите файл блокировки.
topaz lock --root .Команда записывает topaz.lock. При изменении исходников без изменения манифеста и зависимостей используйте существующий файл блокировки.
Проверьте и протестируйте изменения
topaz fmt --check --root .
topaz check --root . --locked
topaz test tests/plan.tpz --root . --lockedfmt --check сообщает о расхождениях форматирования, не меняя файлы. check проверяет типы и имена во входном файле и импортируемых им модулях. Обе команды завершаются успешно, если проверки пройдены. Выбранный тест печатает следующую строку.
tests/plan.tpz: test-okПри сбое команды исправьте причину, прежде чем продолжать. Для форматирования выполните topaz fmt --root .. Ошибку типа или имени исправьте в указанной строке. Если проверка assert не прошла, сравните tests/plan.tpz с функцией в src/plan.tpz. Если файл блокировки устарел, повторите команду фиксации выше.
Запустите приложение
topaz run --root . --lockedС исходными данными из руководства результат будет следующим.
tasks=2, remaining=25 minutesЕсли вы изменили время второй задачи на 30 минут, ожидайте remaining=30 minutes. Тест использует собственное значение 25 минут и по-прежнему проходит.
Пересоберите и передайте программу
topaz build --release --root . --locked --out-dir ../study-plan-productСборка создаёт следующую папку продукта рядом с папкой исходников.
study-plan-product/
├── GENERATED-OUTPUT-NOTICE.txt
├── LICENSE
├── NOTICE
├── target
│ └── release
│ └── program[.exe]
└── topaz-artifact.jsonСкопируйте папку продукта целиком на машину с операционной системой и архитектурой, для которых выполнена сборка. Из этой папки запустите ./target/release/program в Unix или .\target\release\program.exe в PowerShell. С исходными данными программа выведет tasks=2, remaining=25 minutes, как показано выше. Готовому исполняемому файлу не нужны Топаз и Rust.
Если приложение объявляет [capabilities.fs], также скопируйте его data/ и подготовьте папки для записи результатов. Рабочим каталогом должна быть папка продукта. Сборка не копирует данные приложения автоматически.
Если Rust отсутствует, установите инструментарий для своей платформы. Если выходная папка содержит другую цель или изменённые сгенерированные файлы, сохраните её и выберите новую пустую папку.
Связанная документация
- Первое приложение содержит полное упражнение.
- Пакеты и распространение описывает зависимости и файл блокировки.
- Артефакты и развёртывание описывает файлы продукта и условия запуска.
- WASM и песочница показывает работу с пакетами Web и Worker, вызываемыми из JavaScript.