Skip to content

Provide way to customize some of resolver SPI providers #397

@splatch

Description

@splatch

The upcoming release of Maven Resolver will drop support for ServiceLocator: https://issues.apache.org/jira/browse/MRESOLVER-157 which is extensively used in pax-url-aether module.
There is an PR which addresses that: apache/maven-resolver#88, so changes can be cross checked already.

This means that some kind of IoC handling will be necessary in this project, unless it is switched to ie. guice which probably will remain. Pax never really had any support for IoC and customization of created resolver (which I found few years ago while working on version range handling), so I would like to bring this topic once again.

There are actually two use cases I would like to bring:

  • Customization of resolution process (ie. version ranges)
  • More advanced repository authentication (based on certificates, tokens and other things not managed via static settings.xml file)

I know that none of above is currently possible because pax-url does shading of Maven and Aether packages. But, even if above extensions would be compiled against pax'ed packages there will be no way to get them dynamically included by the resolver.
Hence this issue is made with an "epic" label to see if such customization will be ever possible.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions