Originally Posted by Drakanwulf
|
This is inaccurate. Dependencies listed in "DependsOn" can be loaded from anywhere else, e.g. from live/AddOns/libX or any other (unrelated) add-on's subdirectory. The description of "OptionalDependsOn" further on that page correctly omits the word "subordinate".
Originally Posted by Drakanwulf
https://wiki.esoui.com/Addon_Structure
(3a) When you load any library add-on (e.g. LibStub) directly into your .../AddOns/... folder as a stand-alone, "new style" library, you should remove all references to its folder name in all DependsOn: or OptionalDependsOn: directives within any subordinate manifests ...
|
This is wrong. (Optional)DependsOn directives also affect execution order. If you don't list the dependencies there, and attempt to refer to a library from add-on before EVENT_ADD_ON_LOADED, it will bite you.
Originally Posted by Drakanwulf
(3a) ... and you should remove all its folders from within any subordinate folders. For example, (3b) is wrong; the LibStub folder should not be there.
|
I'd replace "should" with "may". There's nothing wrong with keeping LibStub (3b) there.
Here my constructive feedback ends.
Originally Posted by Drakanwulf
If all you wish to do is to complain about the recent changes to how the game loads libraries and add-ons, then I suggest you start writing an add-on to force the game to revert back to how it used to load libraries and add-ons; that should keep you busy for the rest of your life!
|
Something tells me I should refrain from responding, but I can't leave this nonsense unaddressed. Nobody complains about
changes to how the game loads libraries and add-ons. The question was about
changes to how
add-ons are packaged. A user asked
why add-ons stopped bundling libs. "Because the game has this new AddOnVersion feature" is not a proper answer; the introduction of AddOnVersion made a more efficient method of bundling libraries
possible; it didn't make the previously available methods of bundling-embedding or not-bundling libraries any
better or worse, so why would anyone stop bundling
because of that? The decision to stop bundling libs should not be blamed on
changes to how the game loads libraries, because the not-bundling method was always available and doesn't exploit the AddOnVersion (yet).