WoWInterface - View Single Post - Ace2 Dependencies?
View Single Post
12-10-06, 10:10 AM   #4
A Cyclonian
LaoTseu's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2006
Posts: 45
My own AllPlayed addon is a FuBar addon that can run without FuBar. I'm always testing it alone and it was a bit of a pain to get the dependencies right at the beginning. You can look at what Ace... libraries I load to give you a starting point.

One think I can tell you is that none of the Ace... libraries use Compost. In fact, Compost is no longer supposed to be necessary (LUA 5.1.1 fixed the table memory problem) and authors are removing it from their addons. That doesn't mean that an addon no longer need Compost but it does mean that none of the Ace... libraries should need it.

There are two ways that an Ace2 addon may be missing labraries. First, the author may have updated to a new version of the library (e.g. AceLocale-2.0 to AceLocale-2.2), made the change in the LUA code (local L = AceLibrary("AceLocale-2.2"):new("xxx")) but forgot to change the .TOC file and to include the new folder in the libs directory. This error happen often because if you have another Ace2 addon that load before yours or if you use the standalone version of the libraries for development, the new library is available even though you are not including it in your package. In short, the addon works OK in the author environment but may not work in yours. To fix this, you need to check the LUA code and make sure that all the proper libraries (and their dependencies) are listed in the .TOC file and that all the proper folders are present in the addon folder. You could also include that standalone Ace2 lib folders in your setup but I would not recommend that.

Second, the TOC refer to libraries that are not present. This happen because we use SVN to commit the addon code and the ZIP files are generated automatically. Authors will often just take that ZIP, rename it and upload it to the sites like WoWInterface. The issue is that the WoWAce servers have been hammered down by excessive load since the last patch so often the script that include the external libraries in the ZIP file fails. To fix this, you just have to identify the missing library directories and copy them over from another Ace2 addon that has them.

In both cases, if you load the addon by itself, you just add libraries until it load making sure that the addon .TOC points to the proper files and that the proper files are present in the addon libs directory.

Hope that helps.
  Reply With Quote