annotate DependencyLoader_Bootstrap/bootstrap.lua @ 12:b230b94d4487

fixed Addon.lua to use the unhooked EnableAddOn (still needs to be changed to grab from the interface) improved the error message when creating an Addon object on a Blizzard addon (will add direct support later) implemented the hooks on EnableAddOn and LoadAddOn rearranged functions inside Tree.lua, with some edits copied OptDeps from main module to the bootstrap module, to delegate loading to the client when possible
author mckenziemc
date Fri, 10 Dec 2010 00:21:17 -0800
parents e0a4a8b5b389
children e7995d599184
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@12 12
mckenziemc@10 13 print("loading DependencyLoader_Bootstrap")
mckenziemc@10 14
mckenziemc@0 15 -- TODO: move and use dependency parsing function here?
mckenziemc@10 16 local dependencies = {"LibStub", "Ace3", "LibBuilder-1.0", "LibPrint-1.0", "LibScriptLink-1.0"}
mckenziemc@0 17
mckenziemc@0 18 local canLoad = true
mckenziemc@0 19 for _, addon in pairs(dependencies) do
mckenziemc@0 20 local reason = select(6, GetAddOnInfo(addon))
mckenziemc@0 21
mckenziemc@10 22 if reason ~= nil and reason ~= "DISABLED" and reason ~= "DEP_DISABLED" then
mckenziemc@10 23 print("Can't load", addon)
mckenziemc@0 24 canLoad = false
mckenziemc@0 25 break
mckenziemc@0 26 end
mckenziemc@0 27 end
mckenziemc@0 28
mckenziemc@0 29 if not canLoad then
mckenziemc@0 30 print("Can't load DependencyLoader")
mckenziemc@0 31 return
mckenziemc@0 32 end
mckenziemc@0 33
mckenziemc@0 34
mckenziemc@10 35 print("bootstrap: Loading DependencyLoader")
mckenziemc@0 36
mckenziemc@0 37 for _, addon in pairs(dependencies) do
mckenziemc@0 38 EnableAddOn(addon)
mckenziemc@10 39 LoadAddOn(addon)
mckenziemc@0 40 end
mckenziemc@0 41
mckenziemc@10 42 EnableAddOn("DependencyLoader")
mckenziemc@10 43 LoadAddOn("DependencyLoader")
mckenziemc@0 44