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