mirror of
https://github.com/kepler155c/opus
synced 2025-10-18 17:27:39 +00:00
package manager wip
This commit is contained in:
32
sys/apis/packages.lua
Normal file
32
sys/apis/packages.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
_G.requireInjector(_ENV)
|
||||
|
||||
local Util = require('util')
|
||||
|
||||
local fs = _G.fs
|
||||
|
||||
local PACKAGE_DIR = 'packages'
|
||||
|
||||
local Packages = { }
|
||||
|
||||
function Packages:installed()
|
||||
self.cache = { }
|
||||
|
||||
if fs.exists(PACKAGE_DIR) then
|
||||
for _, dir in pairs(fs.list(PACKAGE_DIR)) do
|
||||
local path = fs.combine(fs.combine(PACKAGE_DIR, dir), '.package')
|
||||
self.cache[dir] = Util.readTable(path)
|
||||
end
|
||||
end
|
||||
|
||||
return self.cache
|
||||
end
|
||||
|
||||
function Packages:list()
|
||||
return Util.readTable('sys/packageList.lua') or { }
|
||||
end
|
||||
|
||||
function Packages:isInstalled(package)
|
||||
return self:installed()[package]
|
||||
end
|
||||
|
||||
return Packages
|
||||
Reference in New Issue
Block a user