We'd like to employ some best practices with respect to versioning in our assemblies. Since I'm coming from a Java+Maven+OSGi background, I'll share its way of doing versioning.
Versioning in Java is arbitrary; there are no platform-dictated schemes. However, for quite some time now, versions have the typical form
where major & minor are pretty self-explanatory, revision is used to indicate very minor updates like bug fixes/hot fixes, etc, and qualifier is used at the publisher's convenience. Almost always, the major, minor & revision elements are numeric
values, but they don't have to be. Ordering is as you might expect: major versions are the most signficant element and are compared by the string's order unless their all numeric, in which case they're compared numerically, then minor, then revision,
then qualifier, if present. So, to give an example of the versioning scheme that a newly created library might go through, consider the following versions with descriptions:
1.0.0.A1 -- alpha 1 1.0.0.A2 -- alpha 2 1.0.0.B1 -- beta 1 1.0.0.M1 -- milestone 1 1.0.0.M2 -- milestone 2 1.0.0.RC1 -- release candidate 1 1.0.0.RC2 -- release candidate 2 1.0.0.RELEASE -- golden release to manufacturing, aka "official" release
Notice that the version string for the version considered gol
View Complete Post