Here we should gather "missing APIs", collection of APIs we stumble upon while working with plugins/shared components and are implemented in them, instead offered by Maven Core (or whatever else, central place). Ultimate (maybe idealistic) goal is to hide Resolver, as we cannot afford to repeat the org.sonatype
vs org.eclipse
fiasco again. In short, Maven Plugins should NOT depend on any Resolver bits, while shared components should concentrate as much as possible in this layer, instead to have them sprayed across many projects (and repeated over and over again).
MNG-7397: getPluginDescriptor
Invoking maven-core:org.apache.maven.plugin.MavenPluginManager#getPluginDescriptor
method is not possible without using Maven Resolver classes (RemoteRepository, RepositorySystemSession). It should be encapsulated into some method like: PluginDescriptor getPluginDescriptor( Plugin plugin, MavenSession session )
.
- MNG-7397Getting issue details... STATUS
maven-artifact-transfer + dependency-tree
The APIs of those two will need to be ingested (and improved) as they are a bit overlapping, but m-a-t seems unfinished.
Idea: look into m2e
As AFAIR it has advanced version of dependency-tree, that can show much more info about transitive dependencies.