Курс Raku / Розширені / Модулі / Розповсюдження модулів 🆕

Файл META6

Дистрибутив описується єдиним файлом у його верхньому каталозі — META6.json. Це звичайний JSON, який повідомляє інструментам назву дистрибутива, версію, те, що він надає, і те, від чого залежить:

{
    "name": "Maths::Simple",
    "version": "0.0.1",
    "description": "Simple maths helpers",
    "authors": [ "Your Name" ],
    "license": "Artistic-2.0",
    "depends": [],
    "provides": {
        "Maths::Simple": "lib/Maths/Simple.rakumod"
    }
}

Два найважливіші ключі — це provides, який зіставляє ім’я кожного модуля з файлом, що його втілює, та depends, який перелічує інші дистрибутиви, потрібні цьому.

Файл лежить у корені стандартної структури каталогів:

Maths-Simple/
├── META6.json
├── README.md
├── lib/
│   └── Maths/
│       └── Simple.rakumod
└── t/
    └── 01-basic.rakutest

Код модуля живе під lib/, і шлях каталогів відповідає частинам імені, розділеним :: (Maths::Simplelib/Maths/Simple.rakumod). Тести живуть під t/. За такої структури й правильного META6.json інструменти можуть збирати, тестувати й встановлювати дистрибутив.

Практика

Виконайте 1 тест за змістом цієї теми.

Навігація курсом

Розповсюдження модулів 🆕   |   Тест — Дистрибуції


💪 Або перейдіть одразу до вправ цього розділу.