I'm at the point where I have multiple mods which all use parts of the same code. Maintaining those chunks of identical code over multiple projects became a real hassle, so I decided to bundle the common code into one small mod.
This mod does nothing on its own, except for providing the necessary classes for my mods.
Versioning:
All my mods depending on InfinityLib will have the following versioning:
<maj. version>.<InfinityLib version>.<patch nr>
InfinityLib version number must correspond to the version of InfinityLib, patch number is used for a fix in InfinityLib or the mod itself which does not break binary compatibility with the other dependencies.