-
Notifications
You must be signed in to change notification settings - Fork 0
DependencyManagement
LibraryVersionCheck.lua, LibraryManager.lua, KnownLibraries.lua, KnownAddonDependencies.lua, AutoEnableRequiredDeps.lua, AddonManagerTooltip.lua, and AddonManagerCheckbox.lua: everything covering an addon's library/addon dependencies - checking their versions, enabling and disabling them, and reflecting their state in the native Add-On Manager.
ESO's own GetAddOnDependencyInfo/GetAddOnNumDependencies never report OptionalDependsOn entries, only the (PC/Console)DependsOn chain. Without this call, /libcheck can't see an addon's optional dependencies at all.
Signature: addonName must match your manifest's internal folder name (what GetAddOnInfo reports, not your display Title). No version numbers needed - /libcheck reads those live via GetAddOnDependencyInfo/GetAddOnVersion for whichever it can see. Call it once, from your own EVENT_ADD_ON_LOADED handler.
LibAPH.RegisterAddonDependencies("MyAddonFolderName", { "SomeRequiredLib" }, { "SomeOptionalLib", "AnotherOptionalLib" })Opens a window listing every installed library's version next to KnownLibraries.lua's recorded version: green for a match, cyan for newer, red for older. If nothing in that table is currently installed, it prints a chat message instead of an empty window. KnownLibraries.lua is a plain reference table of popular ESO library names/versions - not runtime-required, just the data this command checks against.
Scans every enabled addon's declared library dependencies (RegisterAddonDependencies calls, plus KnownAddonDependencies.lua's curated snapshot for any addon that never calls it), offers to enable optional libraries an addon can use but currently has switched off, or to disable any enabled library nothing currently references, then reloads and reports the result via chat. Addon-agnostic - works for any installed addon's own manifest dependencies.
Also flags two things separately: a library nothing installed references in any state, and an enabled addon whose required dependency isn't installed at all (ADDON_STATE_DEPENDENCIES_DISABLED).
These three run on their own once loaded - nothing to call:
-
AutoEnableRequiredDeps.luaenables an addon's required dependencies whenever it's manually enabled, recursively through the chain. -
AddonManagerTooltip.luaextends the native Add-On Manager's own addon-row tooltip with a Required/Optional library section, or builds one from scratch if nothing else does. -
AddonManagerCheckbox.luare-shows the Add-On Manager's enable checkbox once a problem dependency is merely disabled, not missing or too old.