III.2 Пакет и сборка
[package]
name = "shop"
version = "0.3.0"
edition = "2027"
[deps]
auth = "^2.1" # реестр pkg.oxl.dev
mlkit = { git = "https://github.com/me/mlkit", tag = "v0.4" }
zlib = { c = "system", header = "zlib.h" } # нативная библиотека
[dev-deps]
faker = "^1"
[profile.prod]
opt = 3
lto = true
[build]
targets = ["linux-x64", "linux-arm64"]
[lint]
magic-literal = "error"
[workspace]
members = ["svc/*"]| Профиль | opt | debug-info | contracts | trace | panic |
|---|---|---|---|---|---|
dev | 0 | full | вкл | вкл | unwind |
test | 1 | full | вкл | вкл | unwind |
prod | 3 | line | выкл | выкл | unwind |
[lint]: уровень правила —error,warn(синонимwarning) илиoff(синонимallow); пример выше показываетerror(поправка редакции 1.0, D-8056; DIV-042; D-6552).- Ключ профиля
dbg = true|falseвключает или выключает выводdbg(§2.2); по умолчанию выключен вprod(D-8064; D-7800). - Разрешение версий: минимальная подходящая версия (MVS), одна версия пакета на граф; конфликт — ошибка с цепочкой требований.
oxl.lockхранит точные версии и хеши; сборка воспроизводима побайтно при одинаковом компиляторе.oxl.schema.lock— теги полей (§9.2);oxl publishсверяет схему с последней опубликованной версией.- Кросс-компиляция встроена; AWS-LC и нативные зависимости собираются для цели встроенным clang.
- Кэш сборки по хешу модуля, удалённый кэш —
[build] cache = "s3://…".
Определяется реализацией. Сборка и реестр (D-8056; DIV-042; D-6552). Эта реализация: кросс-компиляция
[build] targetsне реализована (собирается для Linux x86-64); кэш сборки — по пакету, а не по модулю; удалённый кэшs3://не поддерживается;registry serveне использует TLS; цель сборки с AWS-LC —impl-crypto-backend.
Связанные диагностики
bad-manifest, dep-checksum, dep-conflict, dep-not-found, lock-outdated, publish-refused
Исходник: docs/spec/oxl-standard.md