[ https://issues.apache.org/jira/browse/MNG-6411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16473300#comment-16473300 ]
ASF GitHub Bot commented on MNG-6411: ------------------------------------- michael-o commented on a change in pull request #164: [MNG-6411] Improve readability of project list for resume option. URL: https://github.com/apache/maven/pull/164#discussion_r187785443 ########## File path: maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java ########## @@ -311,13 +311,29 @@ else if ( StringUtils.isNotEmpty( request.getMakeBehavior() ) ) if ( !resumed ) { throw new MavenExecutionException( "Could not find project to resume reactor build from: " + selector - + " vs " + projects, request.getPom() ); + + " vs " + formatProjects( projects ), request.getPom() ); } } return result; } + private String formatProjects( List<MavenProject> projects ) + { + StringBuilder projectNames = new StringBuilder(); + for ( int index = 0, size = projects.size(); index < size; index++ ) + { + MavenProject project = projects.get( index ); Review comment: Don't iterate lists with indexes, use foreach or iterators instead. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Improve readability of project list returned when resume from flag is invalid > ----------------------------------------------------------------------------- > > Key: MNG-6411 > URL: https://issues.apache.org/jira/browse/MNG-6411 > Project: Maven > Issue Type: Improvement > Affects Versions: 3.5.3 > Reporter: Ćukasz Dywicki > Priority: Minor > Fix For: 3.5.4-candidate > > > When value passed for {{-rf}} option is invalid a full list of details of all > projects in build is returned. > This list contains too much information. For every project it includes > groupId, artifactId, version and pom location. While it is useful for > debugging purposes many, if not most, developers are interested in specific > coordinate (groupId:artifactId) which should be passed to next execution, and > which is valid {{-rf}} optiona value. > Note tat below outputs contain new lines for ease of read. This could be also > added to exception message to make it more readable. > Assuming, that I've passed -rf :x Current output in case of failure: > {noformat} > ERROR] Could not find project to resume reactor build from: :x vs [ > MavenProject: com.example:foobar:1.0.0-SNAPSHOT @ > ~/sources/foobar/pom.xml, > MavenProject: com.example.foobar:parent:1.0.0-SNAPSHOT @ > ~/sources/foobar/parent/pom.xml, > MavenProject: com.example.foobar:api:1.0.0-SNAPSHOT @ > ~/sources/foobar/api/pom.xml, > MavenProject: com.example.foobar:model:1.0.0-SNAPSHOT @ > ~/sources/foobar/model/pom.xml, > MavenProject: com.example.foobar:csv:1.0.0-SNAPSHOT @ > ~/sources/foobar/csv/pom.xml, > MavenProject: com.example.foobar.csv:model:1.0.0-SNAPSHOT @ > ~/sources/foobar/csv/model/pom.xml, > MavenProject: com.example.foobar.csv:api:1.0.0-SNAPSHOT @ > ~/sources/foobar/csv/api/pom.xml, > MavenProject: com.example.foobar:json:1.0.0-SNAPSHOT @ > ~/sources/foobar/json/pom.xml, > MavenProject: com.example.foobar.json:model:1.0.0-SNAPSHOT @ > ~/sources/foobar/json/model/pom.xml, > MavenProject: com.example.foobar.json:api:1.0.0-SNAPSHOT @ > ~/sources/foobar/json/api/pom.xml, > MavenProject: com.example.foobar.json:core:1.0.0-SNAPSHOT @ > ~/sources/foobar/json/core/pom.xml, > MavenProject: com.example.foobar:fax:1.0.0-SNAPSHOT @ > ~/sources/foobar/fax/pom.xml, > MavenProject: com.example.foobar.fax:api:1.0.0-SNAPSHOT @ > ~/sources/foobar/fax/api/pom.xml, > MavenProject: com.example.foobar.fax:model:1.0.0-SNAPSHOT @ > ~/sources/foobar/fax/model/pom.xml, > MavenProject: com.example.foobar.fax:web:1.0.0-SNAPSHOT @ > ~/sources/foobar/fax/web/pom.xml, > MavenProject: com.example.foobar.fax.web:api:1.0.0-SNAPSHOT @ > ~/sources/foobar/fax/web/api/pom.xml, > MavenProject: com.example.foobar.fax.web:core:1.0.0-SNAPSHOT @ > ~/sources/foobar/fax/web/core/pom.xml] -> [Help 1] > {noformat} > Additional information about pom locations is irrelevant from message point > of view, because valid input for -rf option is presented below: > {noformat} > ERROR] Could not find project to resume reactor build from: :x vs [ > com.example:foobar, > com.example.foobar:parent, > com.example.foobar:api, > com.example.foobar:model, > com.example.foobar:csv, > com.example.foobar.csv:model, > com.example.foobar.csv:api, > com.example.foobar:json, > com.example.foobar.json:model, > com.example.foobar.json:api, > com.example.foobar.json:core, > com.example.foobar:fax, > com.example.foobar.fax:api, > com.example.foobar.fax:model, > com.example.foobar.fax:web, > com.example.foobar.fax.web:api, > com.example.foobar.fax.web:core] -> [Help 1] > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)