laeubi commented on code in PR #230:
URL: https://github.com/apache/maven-resolver/pull/230#discussion_r1081304362


##########
maven-resolver-api/src/main/java/org/eclipse/aether/repository/WorkspaceReader.java:
##########
@@ -55,4 +60,11 @@
      */
     List<String> findVersions( Artifact artifact );
 
+    /**
+     * List all available artifacts this workspace repository manages.
+     * 
+     * @return a stream of artifacts in no particular order
+     */
+    Stream<Artifact> listArtifacts();

Review Comment:
   Eclipse-plugin never calls that API, resolver does and possibly 
maven-plugins call it (that run in the IDE but are not developed by the IDE 
maintainers).
   
   The rationale is to allow for a `maven-plugin` to discover all projects 
(e.g. in a reactor build or IDE), currently one can only call 
`MavenSession.getProjects()` / `MavenSession.getAllProjects()` but these are 
usually populated for different purpose (e.g. `-am` / `-amd`) and require 
MavenProjects to be setup (so no way to find out "artifacts" only).
   
   e.g. in Eclipse PDE there is a "TargetPlatform", that contains all available 
artifacts a project can resolve and projects then can use these to resolve 
their dependencies, also this is something where it could be used and Tycho 
currently exposes this with a special component (that obviously only plugins 
can use that "know" Tycho/PDE).
   
   So this is more "maven" generic, just think about my build fails with 
   
   > can't find my.atifact in any remote-repository
   
   I can write a plugin that scans all artifacts using fuzzy-search and gives a 
message:
   
   > Did you probabbly mean `my.artifact` instead of `my.atifact`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to