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.
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.