cstamas commented on PR #1337:
URL: https://github.com/apache/maven/pull/1337#issuecomment-1858125936

   The goal of this PR is to allow _transparently_ per-session choice of 
`VersionScheme`. The "transparently" means that even the constructed object 
graph can be retained, as all the selection happens at session runtime, hence 
this would work also in mvnd without any extra effort as well. Finally, yes, 
this opens ability for users to really shoot themselves in foot (which maven 
config does not do that so far?), but I think the benefit of this -- ie. to 
have some custom version scheme with project specific (fixed) version scheme 
outweighs that.
   
   Also, don't forget that this allows now for a Mojo to customize session (and 
configure version scheme for use case) and then perform different queries 
against resolver... 
   
   VersionScheme is a resolver interface, and while Resolver does not use it 
anywhere directly, it is always client code that needs to set it (ie. see util 
filters etc), but as this PR shows, there are some resolver component 
implementations (am looking at maven-resolver-provider) that use it. Hence, 
this PR makes this feature available for Maven but also for any Resolver 3rd 
party integration as well.
   
   Reason why would you use different `VersionScheme` is usually due 
comparisons between versions, ordering. And remember, Maven does not do such 
thing, as plugins in POM, dependencies are usually "plain versions" where 
simple string equality (or translation and on retrieval equality) is applied, 
are mostly unaffected by scheme. Where scheme comes into play is version 
sorting, range handling and such...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to