mckenziemc@0: -- bootstrap.lua mckenziemc@0: -- Bootstrap code for DependencyLoader, allowing mckenziemc@0: -- the user to successfully load it without mckenziemc@0: -- explicitly enabling its own dependencies. mckenziemc@0: mckenziemc@0: mckenziemc@0: local addonName, addonTable = ... mckenziemc@0: mckenziemc@10: mckenziemc@12: -- FIXME: don't force-load if we're already logged in mckenziemc@12: mckenziemc@12: mckenziemc@10: print("loading DependencyLoader_Bootstrap") mckenziemc@10: mckenziemc@0: -- TODO: move and use dependency parsing function here? mckenziemc@10: local dependencies = {"LibStub", "Ace3", "LibBuilder-1.0", "LibPrint-1.0", "LibScriptLink-1.0"} mckenziemc@0: mckenziemc@0: local canLoad = true mckenziemc@0: for _, addon in pairs(dependencies) do mckenziemc@0: local reason = select(6, GetAddOnInfo(addon)) mckenziemc@0: mckenziemc@10: if reason ~= nil and reason ~= "DISABLED" and reason ~= "DEP_DISABLED" then mckenziemc@10: print("Can't load", addon) mckenziemc@0: canLoad = false mckenziemc@0: break mckenziemc@0: end mckenziemc@0: end mckenziemc@0: mckenziemc@0: if not canLoad then mckenziemc@0: print("Can't load DependencyLoader") mckenziemc@0: return mckenziemc@0: end mckenziemc@0: mckenziemc@0: mckenziemc@10: print("bootstrap: Loading DependencyLoader") mckenziemc@0: mckenziemc@0: for _, addon in pairs(dependencies) do mckenziemc@0: EnableAddOn(addon) mckenziemc@10: LoadAddOn(addon) mckenziemc@0: end mckenziemc@0: mckenziemc@10: EnableAddOn("DependencyLoader") mckenziemc@10: LoadAddOn("DependencyLoader") mckenziemc@0: