nwnxee / unified

Binaries available under the Releases tab on Github
https://nwnxee.github.io/unified
GNU General Public License v3.0
131 stars 92 forks source link

Duplicated embedded dependencies #783

Open GoLoT opened 4 years ago

GoLoT commented 4 years ago

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.

mtijanic commented 4 years ago

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.