View Single Post
10/09/16, 01:07 PM   #4
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,578
Injecting it in the uploaded zip only when an update is made won't work because if addonA uses some library v1.0 and some time later addonB starts to use library v1.1 with some new feature that didn't exist in 1.0, addonB would break depending on the order the user extracted the bundles in. Same goes for building it on my end via travis.

I also don't think the bundled zip should be generated when the user downloads the file. As you pointed out, that would cost way too much resources. If anything, it should be generated when any author uploads a new version of any of the parts of the bundle. This would make it necessary that you keep the original upload as you have to rebuild the bundle whenever a dependency gets updated. Then you could also offer a less prominent download button for the unbundled version for expert users.

As for update notifications, I don't think they are required for dependency updates. Just rebuild the bundle silently as a new versions of libraries should not change the functionality of the addon and if a library update contains a fix for the specific addon, the author of the addon can reupload a new zip file with an incremented build version to trigger the notification.

Minion should still download the new version like for other installed addons. I don't think downloading the bundle is the way to go here. It would maybe also need a feature to recognize when a dependency is no longer needed and clean it up.

The dependencies could be specified in an optional JSON file in the root of the uploaded zip which contains an array of ESOUI addon ids and the minimum required versions:
Code:
[
  {
     id: 123,
     version: 1.2.*
  },
  {
     id: 234,
     version: 2.*
  },
  {
     id: 345,
     version: 1.0.25
  }
]

Last edited by sirinsidiator : 10/09/16 at 01:09 PM.
  Reply With Quote