Hello; I'd like to use the Maven Artifact Resolver project (
https://maven.apache.org/resolver/), which, as I understand it, is where
the original Maven dependency resolution code finally ended up after a long
detour through two different companies' attempts to break it off as the
Aether project (Sonatype Aether, Eclipse Aether).

I get the general idea: if I am using it outside of Maven (which I am),
then I should be using the API project (
https://maven.apache.org/resolver/maven-resolver-api/), and hopefully via
some dependency injection system backing it with an implementation.  And
presumably I'd be nuts not to back it with the impl project (
https://maven.apache.org/resolver/maven-resolver-impl/index.html).

The impl project provides a what-looks-like-it-would-be-handy assembler and
service locator of sorts:
https://maven.apache.org/resolver/maven-resolver-impl/apidocs/org/eclipse/aether/impl/DefaultServiceLocator.html.
I suppose I'd like to start by using that.

The Javadocs for it say, among other things:

"To acquire a complete repository system, clients need to add an artifact
descriptor reader, a version resolver, a version range resolver and
optionally some repository connector and transporter factories to access
remote repositories."

Let's say I wanted to make this behave exactly like Maven (i.e. I'd like to
read and work with the local Maven repository cache, etc.), but ultimately
I'm using it to resolve group/artifact/version/packaging/classifier
specifications from something like a command line application.  What
implementations drawn from what Maven-authored projects would I use here?
Do the other submodules listed here (
https://maven.apache.org/resolver/index.html) contain the implementations
described by the Javadocs I cited?  Is there anything missing?  I see
several (presumably) transporter factories in there—would I pick one, or
add all of them?

I have seen this Github repository (https://github.com/eclipse/aether-demo/)
but of course it is for
Aether-as-maintained-by-Eclipse-which-has-now-become-Maven-Artifact-Resolver,
and the Maven-related classes it references are not written to work with
the Maven Artifact Resolver project so I'm not sure how valid the approach
shown here is anymore.

Thanks,
Best,
Laird

Reply via email to