You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2020/06/20 09:33:41 UTC
[maven] 28/31: Refactored `#determineProjectsToSkip` to return a
list instead of an optional with a comma separated list
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-5760
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 823d375c15926e40a5b69a57223ce4d355a2a027
Author: Martin Kanters <Ma...@infosupport.com>
AuthorDate: Wed Jun 17 15:00:22 2020 +0200
Refactored `#determineProjectsToSkip` to return a list instead of an optional with a comma separated list
---
.../DefaultBuildResumptionDataRepository.java | 25 +++++++++-------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java
index e6815ce..7e647d7 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java
@@ -103,10 +103,13 @@ public class DefaultBuildResumptionDataRepository implements BuildResumptionData
{
MavenProject resumeFromProject = failedProjects.get( 0 );
Optional<String> resumeFrom = getResumeFrom( result, resumeFromProject );
- Optional<String> projectsToSkip = determineProjectsToSkip( result, failedProjects, resumeFromProject );
+ List<String> projectsToSkip = determineProjectsToSkip( result, failedProjects, resumeFromProject );
resumeFrom.ifPresent( value -> properties.setProperty( RESUME_FROM_PROPERTY, value ) );
- projectsToSkip.ifPresent( value -> properties.setProperty( EXCLUDED_PROJECTS_PROPERTY, value ) );
+ if ( !projectsToSkip.isEmpty() ) {
+ String excludedProjects = String.join( PROPERTY_DELIMITER, projectsToSkip );
+ properties.setProperty( EXCLUDED_PROJECTS_PROPERTY, excludedProjects );
+ }
}
else
{
@@ -154,11 +157,10 @@ public class DefaultBuildResumptionDataRepository implements BuildResumptionData
* @param result The result of the Maven build.
* @param failedProjects The list of failed projects in the build.
* @param resumeFromProject The project where the build will be resumed with in the next run.
- * @return An optional containing a comma separated list of projects which can be skipped,
- * or an empty optional if no projects can be skipped.
+ * @return A list of projects which can be skipped in a later build.
*/
- private Optional<String> determineProjectsToSkip( MavenExecutionResult result, List<MavenProject> failedProjects,
- MavenProject resumeFromProject )
+ private List<String> determineProjectsToSkip( MavenExecutionResult result, List<MavenProject> failedProjects,
+ MavenProject resumeFromProject )
{
List<MavenProject> allProjects = result.getTopologicallySortedProjects();
int resumeFromProjectIndex = allProjects.indexOf( resumeFromProject );
@@ -168,18 +170,11 @@ public class DefaultBuildResumptionDataRepository implements BuildResumptionData
.map( GroupArtifactPair::new )
.collect( Collectors.toList() );
- String projectsToSkip = remainingProjects.stream()
+ return remainingProjects.stream()
.filter( project -> result.getBuildSummary( project ) instanceof BuildSuccess )
.filter( project -> hasNoDependencyOnProjects( project, failedProjectsGAList ) )
.map( project -> project.getGroupId() + ":" + project.getArtifactId() )
- .collect( Collectors.joining( PROPERTY_DELIMITER ) );
-
- if ( !StringUtils.isEmpty( projectsToSkip ) )
- {
- return Optional.of( projectsToSkip );
- }
-
- return Optional.empty();
+ .collect( Collectors.toList() );
}
private boolean hasNoDependencyOnProjects( MavenProject project, List<GroupArtifactPair> projectsGAs )