view 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
line wrap: on
line source
--	bootstrap.lua
--	Bootstrap code for DependencyLoader, allowing 
--	the user to successfully load it without 
--	explicitly enabling its own dependencies.


local addonName, addonTable = ...


--	FIXME: don't force-load if we're already logged in


print("loading DependencyLoader_Bootstrap")

--	TODO: move and use dependency parsing function here?
local dependencies = {"LibStub", "Ace3", "LibBuilder-1.0", "LibPrint-1.0", "LibScriptLink-1.0"}

local canLoad = true
for _, addon in pairs(dependencies) do
	local reason = select(6, GetAddOnInfo(addon))
	
	if reason ~= nil and reason ~= "DISABLED" and reason ~= "DEP_DISABLED" then
		print("Can't load", addon)
		canLoad = false
		break
	end
end

if not canLoad then
	print("Can't load DependencyLoader")
	return
end


print("bootstrap: Loading DependencyLoader")

for _, addon in pairs(dependencies) do
	EnableAddOn(addon)
	LoadAddOn(addon)
end

EnableAddOn("DependencyLoader")
LoadAddOn("DependencyLoader")