Skip to content

Формат yaoxiang.toml

yaoxiang.toml — это манифест-файл проекта YaoXiang, объявляющий метаданные проекта и зависимости.

Структура файла

toml
[package]
name = "Название проекта"
version = "0.1.0"
description = "Описание проекта"
authors = ["Имя автора"]
license = "MIT"

[dependencies]
# Обычные зависимости

[dev-dependencies]
# Зависимости для разработки

Раздел package

ПолеТипОбязательноОписание
namestringДаНазвание проекта, должно соответствовать правилам именования
versionstringДаСемантический номер версии, соответствует спецификации semver
descriptionstringНетКраткое описание проекта
authorsarrayНетСписок авторов
licensestringНетИдентификатор лицензии

Пример

toml
[package]
name = "my-awesome-app"
version = "1.2.3"
description = "Замечательное приложение"
authors = ["Иван Иванов <ivanov@example.com>"]
license = "MIT"

Объявление зависимостей

Простая версия

toml
[dependencies]
http = "1.0.0"
json = "*"

Подробная конфигурация

toml
[dependencies]
# Git-зависимость
http = { version = "1.0.0", git = "https://github.com/example/http" }

# Локальная зависимость по пути
utils = { version = "0.1.0", path = "./utils" }

# Git-зависимость с веткой
bleeding-edge = { git = "https://github.com/example/edge", branch = "main" }

Описание полей зависимостей

ПолеТипОписание
versionstringНомер версии или диапазон версий
gitstringАдрес Git-репозитория
branchstringИмя ветки Git
pathstringЛокальный относительный путь

Синтаксис номеров версий

СинтаксисОписаниеПример
*Любая версия"*"
1.0.0Точная версия"1.0.0"
>=1.0.0Минимальная версия">=1.0.0"
<2.0.0Максимальная версия"<2.0.0"
>=1.0.0, <2.0.0Диапазон версий">=1.0.0, <2.0.0"
~1.0.0Совместимая версия"~1.0.0"
^1.0.0Caret-версия"^1.0.0"

Полный пример

toml
[package]
name = "web-server"
version = "0.1.0"
description = "Простой веб-сервер"
authors = ["Разработчик <dev@example.com>"]
license = "MIT"

[dependencies]
http = "1.0.0"
json = "2.0.0"
router = { version = "0.5.0", path = "./router" }

[dev-dependencies]
test-utils = "1.0.0"
benchmark = "0.1.0"