repo.lua
Библиотека позволяет просматривать доступные пакеты Lua и устанавливать их на устройство.
repo([server])
Создаёт объект для работы с каталогом пакетов.
Аргументы:
server(необязательно) — адрес каталога пакетов. По умолчанию используетсяhttps://files.unitx.pro/api/download/repo/lua-rtos-libs/recipes.json.
Возвращает объект с методами для работы с пакетами.
local repo = require("repo")
local r = repo()
repo.list([ret_only])
Получает список доступных пакетов.
Аргументы:
ret_only(необязательно) — еслиtrue, возвращает данные вместо вывода в консоль.
При ret_only = true возвращает таблицу, иначе — nil.
При сетевой ошибке, HTTP-коде, отличном от 200, или некорректном JSON выводит сообщение об ошибке в консоль и возвращает nil.
local r = repo()
-- вывести список в консоль
r.list()
-- получить список как таблицу
local packages = r.list(true)
repo.install(name)
Устанавливает пакет по имени.
Аргументы:
name— имя пакета.
local r = repo()
r.install("cjson")
repo.get(url)
Устанавливает пакет по адресу его рецепта.
Аргументы:
url— полный адрес рецепта пакета.
local r = repo()
r.get("https://example.com/recipe.json")
Формат рецепта
Рецепт представляет собой JSON-файл со следующей структурой:
{
"name": "имя пакета",
"description": "описание пакета",
"website": "https://example.com",
"files": {
"https://url/to/file.lua": "filename.lua"
}
}
Файлы устанавливаются в каталог /lib/lua/.