annotate DependencyLoader_Bootstrap/bootstrap.lua @ 18:e7995d599184 tip

updated pkgmeta fix the inversion in addon:Enable added support for late-loading
author mckenziemc
date Tue, 21 Dec 2010 00:23:57 -0800
parents b230b94d4487
children
rev   line source
mckenziemc@0 1 -- bootstrap.lua
mckenziemc@0 2 -- Bootstrap code for DependencyLoader, allowing
mckenziemc@0 3 -- the user to successfully load it without
mckenziemc@0 4 -- explicitly enabling its own dependencies.
mckenziemc@0 5
mckenziemc@0 6
mckenziemc@0 7 local addonName, addonTable = ...
mckenziemc@0 8
mckenziemc@10 9
mckenziemc@12 10 -- FIXME: don't force-load if we're already logged in
mckenziemc@12 11
mckenziemc@0 12 -- TODO: move and use dependency parsing function here?
mckenziemc@10 13 local dependencies = {"LibStub", "Ace3", "LibBuilder-1.0", "LibPrint-1.0", "LibScriptLink-1.0"}
mckenziemc@0 14
mckenziemc@0 15 local canLoad = true
mckenziemc@0 16 for _, addon in pairs(dependencies) do
mckenziemc@0 17 local reason = select(6, GetAddOnInfo(addon))
mckenziemc@0 18
mckenziemc@10 19 if reason ~= nil and reason ~= "DISABLED" and reason ~= "DEP_DISABLED" then
mckenziemc@10 20 print("Can't load", addon)
mckenziemc@0 21 canLoad = false
mckenziemc@0 22 break
mckenziemc@0 23 end
mckenziemc@0 24 end
mckenziemc@0 25
mckenziemc@0 26 if not canLoad then
mckenziemc@0 27 print("Can't load DependencyLoader")
mckenziemc@0 28 return
mckenziemc@0 29 end
mckenziemc@0 30
mckenziemc@0 31
mckenziemc@18 32 --print("bootstrap: Loading DependencyLoader")
mckenziemc@0 33
mckenziemc@0 34 for _, addon in pairs(dependencies) do
mckenziemc@0 35 EnableAddOn(addon)
mckenziemc@10 36 LoadAddOn(addon)
mckenziemc@0 37 end
mckenziemc@0 38
mckenziemc@18 39
mckenziemc@10 40 EnableAddOn("DependencyLoader")
mckenziemc@10 41 LoadAddOn("DependencyLoader")
mckenziemc@0 42