Compare commits

..

3 Commits

Author SHA1 Message Date
dfa9e305ab
:3 2024-08-25 23:48:10 +03:00
85dac18494
:3 added bindings for bootloader lib 2024-08-25 23:44:09 +03:00
2b744a5813
added exports to modules 2024-08-25 23:31:35 +03:00
6 changed files with 64 additions and 3 deletions

23
bindings.lua Normal file
View File

@ -0,0 +1,23 @@
--- @class Exports
--- @field log Logger
--- @field updater Updater
--- @field notifier Notifier
--- @field json JsonParser
--- @class Logger
--- @field error fun(...)
--- @field warn fun(...)
--- @field info fun(...)
--- @field debug fun(...)
--- @class Updater
--- @field addEntry fun(path: string, branch: string, url: string)
--- @class JsonParser
--- @field decode fun(s: string): table
--- @field encode fun(s: table): string
--- @class Notifier
--- @field notify fun(priority: "1"|"2"|"3"|"4"|"5", body: string)

View File

@ -13,6 +13,8 @@ end
rawset(__BUNDLER_FILES, "main", function () rawset(__BUNDLER_FILES, "main", function ()
local updater = require("updater"); local updater = require("updater");
local log = require("log"); local log = require("log");
local notifier = require("notifier")
local json = require("json")
local MODULE_NAME = "keypadOS"; local MODULE_NAME = "keypadOS";
local MODULE_URL = "https://git.mcorangehq.xyz/xomf/keypadOS/raw/branch/keypad/keypadOS.lua"; local MODULE_URL = "https://git.mcorangehq.xyz/xomf/keypadOS/raw/branch/keypad/keypadOS.lua";
if not __VERSION then if not __VERSION then
@ -28,7 +30,20 @@ rawset(__BUNDLER_FILES, "main", function ()
log.info("Starting bootloader (" .. __VERSION .. ")"); log.info("Starting bootloader (" .. __VERSION .. ")");
local upd = updater.new(); local upd = updater.new();
upd:addEntry(MODULE_NAME .. ".lua", "keypad", MODULE_URL); upd:addEntry(MODULE_NAME .. ".lua", "keypad", MODULE_URL);
parallel.waitForAny(function() updaterLoop(upd) end, require(MODULE_NAME)) local lib_exports = {
log = log,
updater = upd,
notifier = notifier,
json = json
};
parallel.waitForAny(
function()
updaterLoop(upd)
end,
function ()
require(MODULE_NAME)(lib_exports);
end
);
end end
local mod = {}; local mod = {};
mod.main = _start; mod.main = _start;

View File

@ -22,6 +22,7 @@
-- SOFTWARE. -- SOFTWARE.
-- --
--- @class JsonParser
local json = { _version = "0.1.2" } local json = { _version = "0.1.2" }
------------------------------------------------------------------------------- -------------------------------------------------------------------------------

View File

@ -1,3 +1,5 @@
--- @class Logger
local log = {}; local log = {};
log.__index = log; log.__index = log;

View File

@ -1,5 +1,7 @@
local updater = require("updater"); local updater = require("updater");
local log = require("log"); local log = require("log");
local notifier = require("notifier")
local json = require("json")
local MODULE_NAME = "keypadOS"; local MODULE_NAME = "keypadOS";
local MODULE_URL = "https://git.mcorangehq.xyz/xomf/keypadOS/raw/branch/keypad/keypadOS.lua"; local MODULE_URL = "https://git.mcorangehq.xyz/xomf/keypadOS/raw/branch/keypad/keypadOS.lua";
@ -8,6 +10,9 @@ if not __VERSION then
__VERSION = "DEV"; __VERSION = "DEV";
end end
--- @param upd Updater --- @param upd Updater
local function updaterLoop(upd) local function updaterLoop(upd)
while true do while true do
@ -20,7 +25,23 @@ local function _start()
log.info("Starting bootloader (" .. __VERSION .. ")"); log.info("Starting bootloader (" .. __VERSION .. ")");
local upd = updater.new(); local upd = updater.new();
upd:addEntry(MODULE_NAME .. ".lua", "keypad", MODULE_URL); upd:addEntry(MODULE_NAME .. ".lua", "keypad", MODULE_URL);
parallel.waitForAny(function() updaterLoop(upd) end, require(MODULE_NAME))
--- @type Exports
local lib_exports = {
log = log,
updater = upd,
notifier = notifier,
json = json
};
parallel.waitForAny(
function()
updaterLoop(upd)
end,
function ()
require(MODULE_NAME)(lib_exports);
end
);
end end
local mod = {}; local mod = {};

View File

@ -72,7 +72,6 @@ function updater:check(branch)
log.error("Updater:check: Could not get body of request: " .. berr); log.error("Updater:check: Could not get body of request: " .. berr);
return false; return false;
end end
local data = json.decode(body); local data = json.decode(body);
if self.curr_commit_hash == "" then if self.curr_commit_hash == "" then
log.debug("No commit hash found, setting"); log.debug("No commit hash found, setting");