While working on a plugin I needed an HTTP library so I chose a header-only library (cpp-httplib) that can easily be included without extra dependencies. It turns out that another plugin already uses the same library which results in duplicated code.
Appending that existing file to the library path doesn't feel right because it will create a dependency between both plugins and if in the future that plugin is removed or moved to a different location it will require manually updating the dependent plugin.
The problem with this specific library is that it is only available through a github repository so my question is if it would make sense to move all external dependencies to a common folder outside of the plugins dir so they can be shared by all plugins.
Ideally it should be added as a git submodule so I'll throw that option here too.
We have NWNXLib/External/, so far it only contains external dependencies used by the core, but no reason not to add ones used by multiple plugins either.
While working on a plugin I needed an HTTP library so I chose a header-only library (cpp-httplib) that can easily be included without extra dependencies. It turns out that another plugin already uses the same library which results in duplicated code.
Appending that existing file to the library path doesn't feel right because it will create a dependency between both plugins and if in the future that plugin is removed or moved to a different location it will require manually updating the dependent plugin.
The problem with this specific library is that it is only available through a github repository so my question is if it would make sense to move all external dependencies to a common folder outside of the plugins dir so they can be shared by all plugins.
Ideally it should be added as a git submodule so I'll throw that option here too.