summaryrefslogtreecommitdiff
path: root/xmake/core/package/addon.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2026-08-15 00:04:39 +0800
committerruki <[email protected]>2026-08-15 00:04:39 +0800
commitca9239022e1cba0faf054e8fe2f178a466149b04 (patch)
treef646b0c7348435a970bcd28f1cd4dcea2e59dec7 /xmake/core/package/addon.lua
parentb13c11f9457e274eeb5e7c51547f619eb4aa6a68 (diff)
improve xrepo addon install
Diffstat (limited to 'xmake/core/package/addon.lua')
-rw-r--r--xmake/core/package/addon.lua7
1 files changed, 4 insertions, 3 deletions
diff --git a/xmake/core/package/addon.lua b/xmake/core/package/addon.lua
index 33eb22e03..731c673ab 100644
--- a/xmake/core/package/addon.lua
+++ b/xmake/core/package/addon.lua
@@ -76,7 +76,7 @@ function addon._save(registry)
addon._ADDONS = nil
local registryfile = addon._registryfile()
-- we need not create an empty registry file if no addons are installed
- if next(registry) == nil and not os.isfile(registryfile) then
+ if table.empty(registry) and not os.isfile(registryfile) then
return
end
local ok, errors = io.save(registryfile, registry)
@@ -211,9 +211,10 @@ function addon._unregister(name, version)
if version then
entry.versions[version] = nil
if entry.active == version then
- entry.active = next(entry.versions)
+ -- we need to select the other one deterministically
+ entry.active = addon.versions(name)[1]
end
- if next(entry.versions) == nil then
+ if table.empty(entry.versions) then
registry[dirname] = nil
end
else