Difficulty Sharing Code Between Swift Package Manager Plugins

Not that I know of. My initial vague understanding came from the Swift Evolution proposals, where there is enough information to deduce the intent and most of the resulting restrictions, but only if you know what you are looking for. I still reached for the wrong way the first few times, before I had a better idea of how it was supposed to work. Unfortunately, I think having named the definition “plug‐in” instead of the workhorse probably sends every new user in the wrong direction.

But the fact that I understand it confidently enough to post an answer to your question comes only from deeper knowledge gleaned by working with the SwiftPM source files and test suite in order to reconcile bugs found in the overlap with other features.

I thought about suggesting this workaround in my first post. I didn’t because I doubt it works on Windows, it cannot share sources between packages, and some naïve formatters overwrite symlinks with the actual contents of the modified file. But if those sorts of things are not an issue, then yes, it is the simplest workaround I know of.