[ 
https://issues.apache.org/jira/browse/MRESOLVER-465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Cservenak updated MRESOLVER-465:
--------------------------------------
    Description: 
Since eons Resolver had the "generic" scheme implementing the {{Version}}, 
{{VersionRange}} and {{VersionConstraint}} API interfaces.

Interesting fact: {{GenericVersionRange}} and {{GenericVersionConstraint}} are 
NOT tied in any way to {{GenericVersion}} implementation, they are happy with 
plain {{Version}} interface as well, they are truly "generic".

This means, that a scheme needs really only to provide {{Version}} 
implementatiom (currently in form of {{GenericVersion}}) and a "factory" for it 
(currently in a form of {{GenericVersionScheme}}.

Refactor a bit, and make room for alternate {{Version}} implementations.

Fact: the change can be done in source and binary compatible way, and is 
enforced by japicmp.

  was:
Since eons Resolver had the "generic" scheme implementing the {{Version}}, 
{{VersionRange}} and {{VersionConstraint}} API interfaces.

Interesting fact: {{GenericVersionRange}} and {{GenericVersionConstraint}} are 
NOT tied in any way to {{GenericVersion}} implementation, they are happy with 
plain {{Version}} interface as well.

This means, that a scheme needs really only to provide {{Version}} 
implementatiom (currently in form of {{GenericVersion}}) and a "factory" for it 
(currently in a form of {{GenericVersionScheme}}.

Refactor a bit, and make room for alternate {{Version}} implementations.

Fact: the change can be done in source and binary compatible way, and is 
enforced by japicmp.


> Make room for new version scheme implementations
> ------------------------------------------------
>
>                 Key: MRESOLVER-465
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-465
>             Project: Maven Resolver
>          Issue Type: Improvement
>          Components: Resolver
>            Reporter: Tamas Cservenak
>            Priority: Major
>             Fix For: 2.0.0, 2.0.0-alpha-7
>
>
> Since eons Resolver had the "generic" scheme implementing the {{Version}}, 
> {{VersionRange}} and {{VersionConstraint}} API interfaces.
> Interesting fact: {{GenericVersionRange}} and {{GenericVersionConstraint}} 
> are NOT tied in any way to {{GenericVersion}} implementation, they are happy 
> with plain {{Version}} interface as well, they are truly "generic".
> This means, that a scheme needs really only to provide {{Version}} 
> implementatiom (currently in form of {{GenericVersion}}) and a "factory" for 
> it (currently in a form of {{GenericVersionScheme}}.
> Refactor a bit, and make room for alternate {{Version}} implementations.
> Fact: the change can be done in source and binary compatible way, and is 
> enforced by japicmp.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to