How do you share extensions?

Defining extensions for classes that exist outside of the module in which you define the extensions is nice, because you don't need to use another import statement to get functionality which you believe should have existed in the other modules. However, we don't just work in one project. The extensions have to be reused between projects and used by multiple people on different Macs. How do you people do it cleanly?


Here are some things I've tried or want or are related. Please put them in your head before providing suggestions.


git submodules or subtrees

workspaces

import/namespacing to avoid conflicts only when an extension is defined in two places because you have somebody else's extensions in your workspace