I’ve been writing some addon scripts for Blender (using Python). There are some files that I’ve found are required by nearly all of my addons, so I decided to move them into a separate repository (GitHub - blackears/blenderCommon: Common files shared by a variety of Blender plugins I'm developing). This is so that they’re all in one place and the same files don’t get out of synch between my different addons. However, I’m now faced with the problem of keeping my addons in synch with this repository.
(GitHub - blackears/blenderUvTools: Tools for manipulating UVs in the Blender viewport. is an example of an addon I’ve developed, although this one does not depend on my common library yet. I’ve not yet published versions of my addons which do).
Because of the way Blender distributes its addon scripts (ie, they’re just a zip file of Python files), I can’t use Python’s packaging system. At the moment, I’m building my zip by copying my addon source into a build directory and then copying this common library source on top of it. The trouble with that is that as I develop both my addon and this common library, they will get more out of synch (eg, revision 1.1.1 of my addon might work with revision 1.0.2 of my common library, but not 1.0.3). To further complicate things, I’m licensing this common library under LGPL while most of my addons will be GPL.
What would be a good strategy to organize my repositories so that my addon is using the correct version of my common library?