On Mon, Aug 12, 2019 at 8:41 PM Ari Maniatis
<
aristedes...@gmail.com> wrote:
>
> I came to find this mailing list just to understand what pr means. So for me, a vote for using common industry accepted terms:
I was under impression that "pr" for "pre-release" would actually we
quite widely known.
I guess I learned something knew.
Thank you for your suggestions... some comments:
> * alpha (2.9a1) if there are more features still to be added
> * beta (2.9b1) if there are more bug fixes likely before the final release, but all the features are done
These are bit difficult to actually predict but I guess I could (if it
was chosen) to simply use "alpha" for most part. I'd prefer full
"alpha" over "a", as latter has no semantics at all (and personally
I'd see it as more, not less, confusing than "pr")
> * release candidate (2.9rc1) if this is absolutely the final release and it just need a few more eyes before making it final
This is why changed away from "rc" (it was used for some earlier minor
versions), as it suggests the idea that version might become actual
release. I don't think any of pre-release versions has ever actually
been published as minor version.
> The above naming means no one needs to go looking in mailing lists to figure out what is happening. And my tooling will automatically understand which is the latest stable release.
I don't think this is really true, without seeing documentation that
confirms this. While humans are familiar with alpha and beta, Maven
does not have intrinsic notion (AFAIK) beyond basic lexicographic
(alphabetic) ordering, which does guarantee proper sorting.
I am also not sure it is safe to leave out third digit; and I think
some platforms (OSGi) will not work well without separating dot
between last digit and qualifier.
So. While I agree with need to improved there needs to be better
explanation of exactly why a schema works better for tooling. One
example I have seen is Hibernate:
https://mvnrepository.com/artifact/org.hibernate/hibernate-core
which for some reason assigns "Final" as qualifier for actual
releases. I don't like that convention but would like to know if there
is a solid reasoning for it.
Guava:
https://mvnrepository.com/artifact/com.google.guava/guava
does not do any pre-releases, although it used to use "rc". But they
play pretty fast and loose with compatibility anyway so that is
probably not a model to follow.
As to "pr1" -- as an example -- it does work wrt ordering of those
versions as before ("older") than actual release, as per:
https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN400
Anyway... I still want to some explanation of how tools other than
Maven make use of qualifier conventions. Perhaps libraries/frameworks
document it. Or maybe it's cargo-cult/voodoo all the way. But I do not
think there are "well-known standards" at all, considering wide
variety of versions.
-+ Tatu +-