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:22 UTC
[maven] 09/31: Fixed a bug where a failed project would be excluded
in the next build when it failed after another failed build.
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 ff350dfd05dca376db697b66f70f4a220e336d48
Author: Martin Kanters <Ma...@infosupport.com>
AuthorDate: Sat May 23 07:59:01 2020 +0200
Fixed a bug where a failed project would be excluded in the next build when it failed after another failed build.
---
.../apache/maven/execution/BuildResumptionManager.java | 2 +-
.../maven/execution/BuildResumptionManagerTest.java | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionManager.java b/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionManager.java
index 0f6bf39..0fb22e4 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionManager.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionManager.java
@@ -186,7 +186,7 @@ public class BuildResumptionManager
.collect( Collectors.toList() );
String projectsToSkip = remainingProjects.stream()
- .filter( project -> result.getBuildSummary( project ) != null )
+ .filter( project -> result.getBuildSummary( project ) instanceof BuildSuccess )
.filter( project -> hasNoDependencyOnProjects( project, failedProjectsGAList ) )
.map( project -> String.format( "%s:%s", project.getGroupId(), project.getArtifactId() ) )
.collect( Collectors.joining( PROPERTY_DELIMITER ) );
diff --git a/maven-core/src/test/java/org/apache/maven/execution/BuildResumptionManagerTest.java b/maven-core/src/test/java/org/apache/maven/execution/BuildResumptionManagerTest.java
index 96c0dee..5c3129b 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/BuildResumptionManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/BuildResumptionManagerTest.java
@@ -107,6 +107,21 @@ public class BuildResumptionManagerTest
}
@Test
+ public void projectsFailingAfterAnotherFailedProjectAreNotExcluded()
+ {
+ MavenProject projectA = createSucceededMavenProject( "A" );
+ MavenProject projectB = createFailedMavenProject( "B" );
+ MavenProject projectC = createSucceededMavenProject( "C" );
+ MavenProject projectD = createFailedMavenProject( "D" );
+ result.setTopologicallySortedProjects( asList( projectA, projectB, projectC, projectD ) );
+
+ Properties properties = buildResumptionManager.determineResumptionProperties( result );
+
+ assertThat( properties.get( "resumeFrom" ), is("test:B") );
+ assertThat( properties.get( "excludedProjects" ), is("test:C") );
+ }
+
+ @Test
public void multipleExcludedProjectsAreCommaSeparated()
{
MavenProject projectA = createFailedMavenProject( "A" );