CandyBar in its current form doesn't work with the AIO libraries "package". I've traced this to the the way that CB forms the path to the texture icon. Here is the offending code (line 1188):
local _,_,ourpath = string.find(debugstack(), "\\AddOns\\(.-)CandyBar%-2%.0%.lua")
Basically, this just parses back through the stack and finds the path to the addon. Fair enough; Problem is there appears to be a limit to the string length returned by debugstack(). If a line is too long it just prefixes it with "..." and truncates the beginning. This is all fine and dandy when the library isn't nested too deeply in the directory structure. However, as is the case with the AIO libraries, it breaks if it is. The following change does fix the problem:
local _,_,ourpath = string.find(debugstack(1,0,1), "dOns\\(.-)CandyBar%-2%.0%.lua")
However, it only fixes it in the context of the AIO library(it also works for the stand-alone embedded version). Should another addon have the code nested deeper it wouldn't work.
So, what to do? Find a real solution? or let it fly?
any lib bugs ive had so far have been easily solved by grabbing the stand-alone zip file (ala candybars for example) and removing them from the !!!libraries folder all together
so far this has removed 5+ bugs for me as individual libs seem to get touched a lot more often then !!!libs do
so basically as a new version gets commited, i grab it, and remove the old one from !!!libs and errors gone
not sure if the way im doing it is the "ace2" way but its keepin bugsack empty on login lol
I'm noticing tht !!!Libraries is causing more erros lately than I like. I like hte idea, but the problem is that one or two addons break for me and I end up having to add back in a library or two into the individual addon.
Just today gotwood broke on me after an update of !!!Libraries and oSkin only. Got wood wouldn't work untill I added four of the libs back into it where yesturday it only needed candy bar.
May I ask what was the 'non-problem' which !!!Libraries try to fix?
When I commit that, I don't expect it to fix anything, it's for my personal use, so that I can update all the addons I use and ignoring the externals, in a hope to save bandwidth for SVN server.
Also, I was interested in seeing the WarmUp! stats for some addons without the embedded libraries, and I was lazy to remove the all the embedded libraries in all addons manually. I know I can write a script for that, but uploading the !!!Libraries and then ignore all externals seems easier.
I thought that if it is causing any trouble to you, just don't download it. I didn't expect it to cause troubles to the authors, if that is the case, may be we should move it out of trunk so that normal users cannot download it.
Candybar uses the debugstack() to figure out where the library is located to get a path to the default candybar texture.
The !!!Libraries generates a problem with that. !!!Libraries is an attempt imho to make a one big package of all libraries available easily thingy thing.
CandyBar doesn't like being in that path. Just download the CandyBar lib seperately and it'll work just fine. !!!Libraries seems to contain everything and the kitchensink. It really fixes nothing, just generates problems.
Solution: Download each lib seperately into its own lib folder. (That way you can also see mem usage per lib in warmup!) And ignore the externals.
Using !!!Libraries I never had an error so far (all addons without externals/deleted libs) ... only the candybar texture problem, and that is fixed with rsmozang's change. I see no reason to get rid of !!!Libraries only because some people are having problems with it. I guess dafire's suggestion will work too.
ps: had much more problems with the libs in all addons, thought allready that the old depency system was much better
This "non-issue" problem strucked me at 5. September. I updated several ACE2 Addons and got the recent AceEvent Nil-Bug. My problem was to find the "bugged" AceEvent Lib, because this lib is part of many addons.
So I used the trick from Sariash and installed !!!Libraries and delete all references in each ACE2 Addon.
I think this isn't an "non-issue" problem and such problems will increase with an higher amount of ACE2 addons. Its much easier to revert to an older library, if you know where they are located instead of finding the bugged library within 20+ instances.
Mayby it's possible to replace the !!!Libraries with an separate package where all libs included as standalone addons. Than you add an small tool to strip the entire addon tree from "embedded" libs or provide pre-build addons without external references.