Open MichaelMure opened 4 years ago
This could be nice to do, but might require a bit of work to actually do the refactoring.
High level, I agree the working with plugins (especially when they're not built in tree) can be a big pain as a result of the various issues associated with Golang's plugin system. We should probably figure out a better way to deal with plugins then we currently do.
Writing a go-ipfs plugin at the moment imply to import go-ipfs itself to get the interfaces to implement and expose. This create a circular dependency which, while it works imply to update every plugins for each go-ipfs release otherwise go modules start to mess up the dependencies.
It'd be great if those interfaces could be extracted into their own package/repo to break this cycle.
Now I'm well aware that I dug my own grave with https://github.com/ipfs/go-ipfs/commit/2a9e5005da1ae517f8e4a0aa69bce5a1d752372b as this
PluginDaemonInternal
can't be extracted but it might be the exception to the rule.