View Single Post
06/28/19, 06:56 PM   #11
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by Baertram View Post
The problem with the packaged libraries within an addon, including the whole library folder and txt manifest files, is:

Putting the library folders in a subfolder of the addon but using their own txt files
-The txt files will only be read from the addon manager until a folder depth of 2 or 3 (not sure anymore) subfolders.
I don't think that's an issue at all, what use case would need manifest 4+ levels deep?

Originally Posted by Baertram View Post
-You have a copy of the libraries AGAIN inside the addon subfolders and need to update this subfolder each time the library updates (same problem as with /libs/libraryname/libraryfile.lua reference in the addon manifest txt from 2014)
As an author, you generally don't want to test your add-on against stale library versions (older than what your users will install separately, or get from other add-ons using the same library), so you should already have all libraries you use up-to-date.
You don't need to have copies of libs in every add-on. You can have your packaging script add libs from a shared location.
And it's hardly the same problem as with lib sources embedded in main add-on manifest, where you had to manually edit the manifest and copy the paths to sources, in case some were added/removed.

Originally Posted by Baertram View Post
+ no possibilities to "only update the library" via Minion, and much effort to update it manually
For libraries packaged together with add-on, users still have the option to install libraries separately (and if they're newer version, they'll be used). It's exactly as much effort for users as if the library is not packaged, except that it's optional (until there's an essential update to the library and none of the add-ons using that library gets the updated version).

Originally Posted by Baertram View Post
-Not easy to find the loaded library in case of errors as every addon and subfolder could contain the library again. This was one of the reasons why I'm using the libraries in the main AddOns folder now e.g.!
I'm not sure whether it's base UI or Votan's Addon List feature, but addon tooltips show path from which they loaded. Error messages contain path as well.

Originally Posted by Baertram View Post
Libraries packaged with the addon but installed to main AddOns folder
-If you do not have it inside the addon subfolder itsself but in the main folder of the addon (as own "library folder"), it should work but it might not update properly via Minion because of multiple found txt files and folders.
-every addon updated will overwrite the folder again. If only one got a "bad or old version" the folder might be broken and thus several addons will
This would obviously be broken, evil and also completely miss the point of AddOnVersion.

Originally Posted by Baertram View Post
Benefit of the manually / Minion standalone installations of libraries - IMO
-You have only 1 source where the error could be and thus it's easy to support and fix it
-Less disk space needed
-Update via Minion is easy after it has been installed once
-Manual update is easy as wella s you only need to update 1 folder and are able to overwrite all contents (the AddOnVersion tag in updated libraries assure that only the newest version will be read from this AddOns/libraryName folder then)
Originally Posted by Baertram View Post
So I don't get why you say we ignore the AddOnVersion here @merlight?
The purpose of AddOnVersion is to help game client pick the latest version of an add-on/library when it encounters multiple copies. If you're not shipping any copies other than the separately installed one, you're not utilizing AddOnVersion.

Originally Posted by Baertram View Post
I guess it's up to the authors how they solve this. But including the libs again into the addons got more disadvantages (afai understood the whole complex system) than keeping them seperated in their own folder.
Yes, of course it's everyone's choice, I'm not trying to take that away. I just find it sadly amusing that this 'rm -rf lib/' movement started after AddOnVersion became a thing. Imagine you decided to stop packaging libraries with your add-ons back in 2015, when ESO didn't recognize AddOnVersion. There was nothing stopping you from doing just that.
  Reply With Quote