OxL Справочник OxL
РусскийEnglish

III.2 Пакет и сборка

toml
[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/*"]
Профильoptdebug-infocontractstracepanic
dev0fullвклвклunwind
test1fullвклвклunwind
prod3lineвыклвыкл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