Перейти к содержанию
Материалы раздела

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/.