You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tamas Cservenak (Jira)" <ji...@apache.org> on 2024/01/17 09:22:00 UTC

[jira] [Updated] (MRESOLVER-465) Make room for new version scheme implementations

     [ 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)