[ https://issues.apache.org/jira/browse/MNG-7630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17678822#comment-17678822 ]
ASF GitHub Bot commented on MNG-7630: ------------------------------------- rmannibucau commented on code in PR #913: URL: https://github.com/apache/maven/pull/913#discussion_r1081611183 ########## maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenWorkspaceReader.java: ########## @@ -28,4 +29,20 @@ public interface MavenWorkspaceReader extends WorkspaceReader { Model findModel(Artifact artifact); + + /** + * List all available artifacts this workspace repository manages. + * + * @return a stream of artifacts in no particular order + * @since 3.9.0 + */ + Stream<Artifact> listArtifacts(); Review Comment: Streams also have the con to need collection to be cached (if you call it twice for ex). Streams also have the disavantage to not be reusable so if anyone call it and need to browse it twice it will have to materialize it too (toList()) making the call. So at the end from a caller perspective the collection usage is lighter in terms of contract and compatible with streams (`.stream()`). now if you explicit you must enforce close - which is the current PR contract since everything is abstracted and can be backed by a filesystem by contract - it is fine too, just not as convenient IMHO. Key decision point for me is: does the data fit in mem: obviously yes it is in maps already, so no need to stream it IMHO. > Support listing of workspace models and implement upcomming interface methods > ----------------------------------------------------------------------------- > > Key: MNG-7630 > URL: https://issues.apache.org/jira/browse/MNG-7630 > Project: Maven > Issue Type: Improvement > Reporter: Christoph Läubrich > Priority: Major > Fix For: 3.9.0, 4.0.0-alpha-4, 4.0.0 > > > This is the Maven counterpart of MRESOLVER-307. > As this will be most likely be released in resolver 2.0 only maven can still > already have an implementation for the new methods to: > - show how they would look like > - if upgrading source is already prepared > - Maven has an own extension of that interface that should have similar > behaviour -- This message was sent by Atlassian Jira (v8.20.10#820010)