Details
-
Wish
-
Status: Closed
-
Minor
-
Resolution: Incomplete
-
3.0.2
-
None
-
None
Description
I would like to implement custom VersionConstraints, and have thought of creating a subclass of GenericVersionScheme to achieve that. However, I had to realize that GenericVersionScheme is instantiated via new GenericVersionScheme() instead of dependency injection.
Please register GenericVersionScheme as a Plexus Component with the role org.sonatype.aether.version.VersionScheme, and use the injected version, that way I can write extensions that provide a wrapped version.
Here are the affected instantiations that I could find:
GenericVersionScheme() - org.sonatype.aether.util.version.GenericVersionScheme
isMavenVersion(String) : boolean - org.apache.maven.rtinfo.internal.DefaultRuntimeInformation
MytoysGenericVersionScheme - de.mytoys.maven.version.resolver
resolveVersionRange(RepositorySystemSession, VersionRangeRequest) : VersionRangeResult - org.apache.maven.repository.internal.DefaultVersionRangeResolver
selectVersion(DefaultPluginVersionResult, PluginVersionRequest, Versions) : void - org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver