#282 version the common directory

This commit is contained in:
Mikayla Fischler 2023-07-30 20:46:04 -04:00
parent 9ce75eb4bd
commit 1a64591256
4 changed files with 24 additions and 34 deletions

View File

@ -20,7 +20,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
local function println(message) print(tostring(message)) end local function println(message) print(tostring(message)) end
local function print(message) term.write(tostring(message)) end local function print(message) term.write(tostring(message)) end
local CCMSI_VERSION = "v1.7d" local CCMSI_VERSION = "v1.8"
local install_dir = "/.install-cache" local install_dir = "/.install-cache"
local manifest_path = "https://mikaylafischler.github.io/cc-mek-scada/manifests/" local manifest_path = "https://mikaylafischler.github.io/cc-mek-scada/manifests/"
@ -63,16 +63,15 @@ end
local function pkg_message(message, package) white();print(message .. " ");blue();println(package);white() end local function pkg_message(message, package) white();print(message .. " ");blue();println(package);white() end
-- indicate actions to be taken based on package differences for installs/updates -- indicate actions to be taken based on package differences for installs/updates
local function show_pkg_change(name, v_local, v_remote) local function show_pkg_change(name, v)
if v_local ~= nil then if v.v_local ~= nil then
if v_local ~= v_remote then if v.v_local ~= v.v_remote then
print("[" .. name .. "] updating ");blue();print(v_local);white();print(" \xbb ");blue();println(v_remote);white() print("[" .. name .. "] updating ");blue();print(v.v_local);white();print(" \xbb ");blue();println(v.v_remote);white()
elseif mode == "install" then elseif mode == "install" then
pkg_message("[" .. name .. "] reinstalling", v_local) pkg_message("[" .. name .. "] reinstalling", v.v_local)
end
else
pkg_message("[" .. name .. "] new install of", v_remote)
end end
else pkg_message("[" .. name .. "] new install of", v.v_remote) end
return v.v_local ~= v.v_remote
end end
-- read the local manifest file -- read the local manifest file
@ -284,6 +283,7 @@ elseif mode == "install" or mode == "update" then
app = { v_local = nil, v_remote = nil, changed = false }, app = { v_local = nil, v_remote = nil, changed = false },
boot = { v_local = nil, v_remote = nil, changed = false }, boot = { v_local = nil, v_remote = nil, changed = false },
comms = { v_local = nil, v_remote = nil, changed = false }, comms = { v_local = nil, v_remote = nil, changed = false },
common = { v_local = nil, v_remote = nil, changed = false },
graphics = { v_local = nil, v_remote = nil, changed = false }, graphics = { v_local = nil, v_remote = nil, changed = false },
lockbox = { v_local = nil, v_remote = nil, changed = false } lockbox = { v_local = nil, v_remote = nil, changed = false }
} }
@ -299,6 +299,7 @@ elseif mode == "install" or mode == "update" then
ver.boot.v_local = local_manifest.versions.bootloader ver.boot.v_local = local_manifest.versions.bootloader
ver.app.v_local = local_manifest.versions[app] ver.app.v_local = local_manifest.versions[app]
ver.comms.v_local = local_manifest.versions.comms ver.comms.v_local = local_manifest.versions.comms
ver.common.v_local = local_manifest.versions.common
ver.graphics.v_local = local_manifest.versions.graphics ver.graphics.v_local = local_manifest.versions.graphics
ver.lockbox.v_local = local_manifest.versions.lockbox ver.lockbox.v_local = local_manifest.versions.lockbox
@ -316,6 +317,7 @@ elseif mode == "install" or mode == "update" then
ver.boot.v_remote = manifest.versions.bootloader ver.boot.v_remote = manifest.versions.bootloader
ver.app.v_remote = manifest.versions[app] ver.app.v_remote = manifest.versions[app]
ver.comms.v_remote = manifest.versions.comms ver.comms.v_remote = manifest.versions.comms
ver.common.v_remote = manifest.versions.common
ver.graphics.v_remote = manifest.versions.graphics ver.graphics.v_remote = manifest.versions.graphics
ver.lockbox.v_remote = manifest.versions.lockbox ver.lockbox.v_remote = manifest.versions.lockbox
@ -327,28 +329,15 @@ elseif mode == "install" or mode == "update" then
end end
white() white()
-- display bootloader version change information ver.boot.changed = show_pkg_change("bootldr", ver.boot)
show_pkg_change("bootldr", ver.boot.v_local, ver.boot.v_remote) ver.common.changed = show_pkg_change("common", ver.common)
ver.boot.changed = ver.boot.v_local ~= ver.boot.v_remote ver.comms.changed = show_pkg_change("comms", ver.comms)
-- display app version change information
show_pkg_change(app, ver.app.v_local, ver.app.v_remote)
ver.app.changed = ver.app.v_local ~= ver.app.v_remote
-- display comms version change information
show_pkg_change("comms", ver.comms.v_local, ver.comms.v_remote)
ver.comms.changed = ver.comms.v_local ~= ver.comms.v_remote
if ver.comms.changed and ver.comms.v_local ~= nil then if ver.comms.changed and ver.comms.v_local ~= nil then
print("[comms] ");yellow();println("other devices on the network will require an update");white() print("[comms] ");yellow();println("other devices on the network will require an update");white()
end end
ver.app.changed = show_pkg_change(app, ver.app)
-- display graphics version change information ver.graphics.changed = show_pkg_change("graphics", ver.graphics)
show_pkg_change("graphics", ver.graphics.v_local, ver.graphics.v_remote) ver.lockbox.changed = show_pkg_change("lockbox", ver.lockbox)
ver.graphics.changed = ver.graphics.v_local ~= ver.graphics.v_remote
-- display lockbox version change information
show_pkg_change("lockbox", ver.lockbox.v_local, ver.lockbox.v_remote)
ver.lockbox.changed = ver.lockbox.v_local ~= ver.lockbox.v_remote
-- ask for confirmation -- ask for confirmation
if not ask_y_n("Continue", false) then return end if not ask_y_n("Continue", false) then return end
@ -392,16 +381,13 @@ elseif mode == "install" or mode == "update" then
if dependency == "system" then return not ver.boot.changed if dependency == "system" then return not ver.boot.changed
elseif dependency == "graphics" then return not ver.graphics.changed elseif dependency == "graphics" then return not ver.graphics.changed
elseif dependency == "lockbox" then return not ver.lockbox.changed elseif dependency == "lockbox" then return not ver.lockbox.changed
elseif dependency == "common" then return not (ver.app.changed or ver.comms.changed) elseif dependency == "common" then return not (ver.common.changed or ver.comms.changed)
elseif dependency == app then return not ver.app.changed elseif dependency == app then return not ver.app.changed
else return true end else return true end
end end
if not single_file_mode then if not single_file_mode then
if fs.exists(install_dir) then if fs.exists(install_dir) then fs.delete(install_dir);fs.makeDir(install_dir) end
fs.delete(install_dir)
fs.makeDir(install_dir)
end
-- download all dependencies -- download all dependencies
for _, dependency in pairs(dependencies) do for _, dependency in pairs(dependencies) do

View File

@ -48,6 +48,7 @@ def make_manifest(size):
"versions" : { "versions" : {
"installer" : get_version("./ccmsi.lua"), "installer" : get_version("./ccmsi.lua"),
"bootloader" : get_version("./startup.lua"), "bootloader" : get_version("./startup.lua"),
"common" : get_version("./scada-common/util.lua", True),
"comms" : get_version("./scada-common/comms.lua", True), "comms" : get_version("./scada-common/comms.lua", True),
"graphics" : get_version("./graphics/core.lua", True), "graphics" : get_version("./graphics/core.lua", True),
"lockbox" : get_version("./lockbox/init.lua", True), "lockbox" : get_version("./lockbox/init.lua", True),

File diff suppressed because one or more lines are too long

View File

@ -7,6 +7,9 @@ local cc_strings = require("cc.strings")
---@class util ---@class util
local util = {} local util = {}
-- scada-common version
util.version = "1.0.0"
-- ENVIRONMENT CONSTANTS -- -- ENVIRONMENT CONSTANTS --
util.TICK_TIME_S = 0.05 util.TICK_TIME_S = 0.05