annotate DependencyLoader_Bootstrap/bootstrap.lua @ 15:a46bf694050c
cleaned up Tree's methods a bit and improved documentation
Addon:Exists will now return false for Blizzard addons (needs to be handled better)
Addon.lua will now use the raw hooks from the interface module
fixed the inverted returns from IsForceLoadAvailable
EnableAddOn and LoadAddOn hooks will now skip the extra processing if the addon does not exist or is a Blizzard addon
moved the EnableAddOn queing to the interface
author |
mckenziemc |
date |
Sat, 11 Dec 2010 01:48:39 -0800 |
parents |
b230b94d4487 |
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
|