Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-spec-project-leads] How to recognize the latest version of artifacts in central?

On 5/27/20 3:00 PM, Kevin Sutter wrote:
Thanks, Mark!  So, it seems that the content from Bill's post [1] about release qualifiers (-b, -m, and -rc) didn't make it to the wiki [2].  Bill was asking for some input before presenting it to the PMC for "blessing" and then merged into the wiki.

Very few replies to the request.  One reply didn't like letters in the version identifiers at all.  The other replies seemed to like uppercase qualifiers (-B, -M, and -RC), while one outlier (me) even suggested mixed case usage (-b, -M, and -RC).  Crazy talk.

I think we need these release qualifiers in some format to allow for build, milestone, or release candidate designations.  So, let's just start an informal poll.  We have a PMC meeting next Tuesday, so I can present the results to the PMC at that meeting and get the wiki updated appropriately.  Thanks!

Vote for one of the following:
1) -b, -m, -rc
2) -B, -M, -RC
3) -b, -M, -RC
4) do not allow release qualifiers in the version identifier
5) other, please specify


I don't see a big difference between 1, 2 and 3 - but should I have to pick exactly one, it would be 3.

What I see as more important is how the chosen pattern will work for maven as well as OSGi when it comes to correct ordering/version resolution. JBoss seems to solve that by using 'qualifiers' to identify b/M/RC/FINAL[1] - so it is effectively using 4 parts: <major>.<minor>.<micro>.<qualifier>. Current Jakarta EE versioning, on the other hand, relies on 3 parts only - <major>.<minor>.<micro> and describes the impact of this in the "Version numbers for non-final specifications" part of the doc (...spec-version-plugin used to be used to help following it)

Mixing these two approaches, while it is possible, makes it harder to use existing tooling to automate checks for version updates as can be seen now with "4.0.0-RC1" vs "4.0.0.M1".

thanks,
--lukas


[1]: https://developer.jboss.org/wiki/JBossProjectVersioning


[1] https://www.eclipse.org/lists/jakartaee-platform-dev/msg01353.html
[2] https://wiki.eclipse.org/JakartaEE_Maven_Versioning_Rules


---------------------------------------------------
Kevin Sutter
STSM, MicroProfile and Jakarta EE architect @ IBM
e-mail:  sutter@xxxxxxxxxx     Twitter:  @kwsutter
phone: tl-553-3620 (office), 507-253-3620 (office)
LinkedIn: https://www.linkedin.com/in/kevinwsutter



From: Mark Thomas <markt@xxxxxxxxxx>
To: jakartaee-spec-project-leads@xxxxxxxxxxx
Date: 05/27/2020 03:05
Subject: [EXTERNAL] Re: [jakartaee-spec-project-leads] How to recognize the latest version of artifacts in central?
Sent by: jakartaee-spec-project-leads-bounces@xxxxxxxxxxx
------------------------------------------------------------------------



On 27/05/2020 03:17, Kevin Sutter wrote:
Right, Hussain, which is why we should not be using the dot notation
when specifying the Mn or RCn artifacts in Maven.  The dash notation  for
Mn or RCn artifacts allows the proper parsing and comparisons.  I  know
we discussed this back when we were were creating the "Milestone  or RC"
API artifacts, but it must not be documented very well...

It is documented but that documentation [1] came after the questions
about how to do the EL release [2] and, I suspect, was as a result of
the discussion [3], [4] around that and related releases.

We are where we are and we can't undo publish stuff from Maven Central.

I've done a quick check with
org.apache.maven.artifact.versioning.ComparableVersion and this should
be fixed once we have a 4.0.0 release.

Mark


[1]
https://www.eclipse.org/mhonarc/lists/jakartaee-platform-dev/msg01353.html

[2] https://www.eclipse.org/lists/jakartaee-spec-project-leads/msg00342.html

[3] https://www.eclipse.org/lists/servlet-dev/msg00108.html

[4] https://www.eclipse.org/lists/jakartaee-spec-project-leads/msg00347.html




---------------------------------------------------
Kevin Sutter
STSM, MicroProfile and Jakarta EE architect @ IBM
e-mail:  sutter@xxxxxxxxxx     Twitter:  @kwsutter
phone: tl-553-3620 (office), 507-253-3620 (office) LinkedIn: https://www.linkedin.com/in/kevinwsutter



From:        <Hussain.NM@xxxxxxxxxxxxx>
To:        <jakartaee-spec-project-leads@xxxxxxxxxxx>
Date:        05/26/2020 17:51
Subject:        [EXTERNAL] Re: [jakartaee-spec-project-leads]  How to
recognize the latest version of artifacts in central?
Sent by:        jakartaee-spec-project-leads-bounces@xxxxxxxxxxx
------------------------------------------------------------------------


Re-sending

Lukas is right, using the maven-artifact tool it says 4.0.0.M1 >  4.0.0-RC1

java -jar %MAVEN_HOME%\lib\maven-artifact-3.6.3.jar 4.0.0.M1 4.0.0-RC1

Display parameters as parsed by Maven (in canonical form) and comparison
result:

1. 4.0.0.M1 == 4.0.0.milestone-1

   4.0.0.M1 > 4.0.0-RC1

2. 4.0.0-RC1 == 4-rc-1

java - jar %MAVEN_HOME%\lib\maven-artifact-3.6.3.jar 4.0.0-RC1  4.0.0.M1

Display parameters as parsed by Maven (in canonical form) and comparison
result:

1. 4.0.0-RC1 == 4-rc-1

   4.0.0-RC1 < 4.0.0.M1

2. 4.0.0.M1 == 4.0.0.milestone-1

We can conclude from above 4.0.0-RC1 becomes 4-rc-1 whereas 4.0.0.M1
becomes 4.0.0-milestone-1.

If we have 4.0.0-M1 and compare with 4.0.0-RC1 then it becomes
4-milestone-1 < 4-rc-1.

If we have 4.0.0.RC1 and compare with 4.0.0-RC1 then it becomes
4.0.0-rc1 > 4-rc-1.

Thanks

Hussain

-----Original Message-----

From: jakartaee-spec-project-leads-bounces@xxxxxxxxxxx
<mailto:jakartaee-spec-project-leads-bounces@xxxxxxxxxxx><jakartaee-spec-project-leads-bounces@xxxxxxxxxxx
<mailto:jakartaee-spec-project-leads-bounces@xxxxxxxxxxx>> On Behalf Of
Lukas Jungmann

Sent: Wednesday, May 27, 2020 3:28 AM

To: jakartaee-spec-project-leads@xxxxxxxxxxx
<mailto:jakartaee-spec-project-leads@xxxxxxxxxxx>

Subject: Re: [jakartaee-spec-project-leads] How to recognize the latest
version of artifacts in central?

On 5/26/20 11:10 PM, arjan tijms wrote:

Hi,



Should be date.



Both qualifiers are Maven recognised though, see

https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Focto

pus.com%2Fblog%2Fmaven-versioning-explained&amp;data=02%7C01%7Chussain

.nm%40cognizant.com%7C8499180385e74d5e233d08d801bfe1ed%7Cde08c40719b94

27d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&amp;sdata=9JkDfTKKIvw

qtLBqSHMd0wc1wVlzbpbmfhNGZ1KAbqM%3D&amp;reserved=0

I'm not talking about version number recognition, I'm talking about
proper version ordering, so one can rely on available tooling to save
some time and use automation to take care of updating dependencies.



Normally rc should come after m, and the separator is optional.  Do

note that they differ here: the "-" in RC vs the "."  in the M1. I'm

not entirely sure why Maven displays them out of order though,  but my

guess is the different separators confuse it.

https://apc01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmaven.apache.org%2Fpom.html%23Version_Order_Specification&data=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bfe1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&sdata=oPPtZlzsOrVOHf3ytLeyX1rRdyyZrYd9wnOIz0hqIo0%3D&reserved=0
<https://apc01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmaven.apache.org%2Fpom.html%23Version_Order_Specification&data=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bfe1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&sdata=oPPtZlzsOrVOHf3ytLeyX1rRdyyZrYd9wnOIz0hqIo0%3D&reserved=0>explains
it

- '.' is a version number separator, while '-' is not, so:

4.0.0-RC1 has 3 parts - 4, 0, 0-RC1

4.0.0.M1 has 4 parts - 4, 0, 0, M1

and maven compares 3rd part - '.0-RC1' with '.0' and if I got it right,
".qualifier" < ".number" applies => '.0-RC1'  < '.0', so in the end
'4.0.0-RC1' < '4.0.0.M1'

thanks,

--lukas



Kind regards,

Arjan











On Tue, May 26, 2020 at 10:54 PM Lukas Jungmann

<lukas.jungmann@xxxxxxxxxx <mailto:lukas.jungmann@xxxxxxxxxx
<mailto:lukas.jungmann@xxxxxxxxxx%20%3cmailto:lukas.jungmann@xxxxxxxxxx>>>
wrote:



    Hi,



         I'm trying to update dependencies  in some implementation projects

    and came through this:



    when I visit ie

https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsearch.maven.org%2Fartifact%2Fjakarta.el%2Fjakarta.el-api&data=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bfe1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&sdata=uBSbIMMP2x39oep1%2Bzih%2BDwCS8TDaR8raZ%2FENWOtAN4%3D&reserved=0
<https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsearch.maven.org%2Fartifact%2Fjakarta.el%2Fjakarta.el-api&data=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bfe1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&sdata=uBSbIMMP2x39oep1%2Bzih%2BDwCS8TDaR8raZ%2FENWOtAN4%3D&reserved=0>I
can see

    that the latest version "by date" is 4.0.0-RC1



    when I run `mvn -U -C versions:display-property-updates`  I see:

    [INFO] The following dependencies in Dependency  Management have newer

    versions:

    [INFO]   jakarta.el:jakarta.el-api ......................  4.0.0-RC1 ->

    4.0.0.M1



    which basically says that 4.0.0-RC1 has been updated  by 4.0.0.M1.



    Who should I trust? Maven? Date?



    thanks,

    --lukas

    _______________________________________________

    jakartaee-spec-project-leads mailing list

    jakartaee-spec-project-leads@xxxxxxxxxxx
<mailto:jakartaee-spec-project-leads@xxxxxxxxxxx>

    <mailto:jakartaee-spec-project-leads@xxxxxxxxxxx>

    To unsubscribe from this list, visit


https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.

eclipse.org%2Fmailman%2Flistinfo%2Fjakartaee-spec-project-leads&amp;da

ta=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bf

e1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&a

mp;sdata=LYQyc39zpp2Bm1MJMYMoHFuGqhfZwKPL22DeMevm7iI%3D&amp;reserved=0





_______________________________________________

jakartaee-spec-project-leads mailing list

jakartaee-spec-project-leads@xxxxxxxxxxx
<mailto:jakartaee-spec-project-leads@xxxxxxxxxxx>

To unsubscribe from this list, visit

https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.

eclipse.org%2Fmailman%2Flistinfo%2Fjakartaee-spec-project-leads&amp;da

ta=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bf

e1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&a

mp;sdata=LYQyc39zpp2Bm1MJMYMoHFuGqhfZwKPL22DeMevm7iI%3D&amp;reserved=0



_______________________________________________

jakartaee-spec-project-leads mailing list
jakartaee-spec-project-leads@xxxxxxxxxxx
<mailto:jakartaee-spec-project-leads@xxxxxxxxxxx>

To unsubscribe from this list, visit
https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Fjakartaee-spec-project-leads&data=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bfe1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&sdata=LYQyc39zpp2Bm1MJMYMoHFuGqhfZwKPL22DeMevm7iI%3D&reserved=0
<https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Fjakartaee-spec-project-leads&data=02%7C01%7Chussain.nm%40cognizant.com%7C8499180385e74d5e233d08d801bfe1ed%7Cde08c40719b9427d9fe8edf254300ca7%7C0%7C0%7C637261270941831432&sdata=LYQyc39zpp2Bm1MJMYMoHFuGqhfZwKPL22DeMevm7iI%3D&reserved=0>


This e-mail and any files transmitted with it are for the sole use  of
the intended recipient(s) and may contain confidential and privileged
information. If you are not the intended recipient(s), please reply  to
the sender and destroy all copies of the original message. Any
unauthorized review, use, disclosure, dissemination, forwarding,
printing or copying of this email, and/or any action taken in reliance
on the contents of this e-mail is strictly prohibited and may be
unlawful. Where permitted by applicable law, this e-mail and other
e-mail communications sent to and from Cognizant e-mail addresses  may be
monitored. This e-mail and any files transmitted with it are for the
sole use of the intended recipient(s) and may contain confidential  and
privileged information. If you are not the intended recipient(s),  please
reply to the sender and destroy all copies of the original message.  Any
unauthorized review, use, disclosure, dissemination, forwarding,
printing or copying of this email, and/or any action taken in reliance
on the contents of this e-mail is strictly prohibited and may be
unlawful. Where permitted by applicable law, this e-mail and other
e-mail communications sent to and from Cognizant e-mail addresses  may be
monitored. _______________________________________________
jakartaee-spec-project-leads mailing list
jakartaee-spec-project-leads@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-spec-project-leads




_______________________________________________
jakartaee-spec-project-leads mailing list
jakartaee-spec-project-leads@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-spec-project-leads


_______________________________________________
jakartaee-spec-project-leads mailing list
jakartaee-spec-project-leads@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-spec-project-leads





_______________________________________________
jakartaee-spec-project-leads mailing list
jakartaee-spec-project-leads@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-spec-project-leads



Back to the top