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 08:40:20 UTC
[maven] 13/30: Store information about resumption storage in
execution result
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 6dda3c3e4a6786ab035f90299794457d01c8321d
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Sat May 23 20:30:46 2020 +0200
Store information about resumption storage in execution result
---
.../src/main/java/org/apache/maven/DefaultMaven.java | 13 +++++++------
.../maven/execution/DefaultMavenExecutionResult.java | 14 ++++++++++++++
.../org/apache/maven/execution/MavenExecutionResult.java | 14 ++++++++++++++
.../maven/lifecycle/LifecycleExecutionException.java | 12 ------------
.../src/main/java/org/apache/maven/cli/MavenCli.java | 4 +---
5 files changed, 36 insertions(+), 21 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
index 4907ac9..a5e84f3 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
@@ -366,20 +366,21 @@ public class DefaultMaven
private void saveResumptionDataWhenApplicable( MavenExecutionResult result, MavenSession session )
{
- List<LifecycleExecutionException> lifecycleExecutionExceptions = result.getExceptions().stream()
+ long lifecycleExecutionExceptionCount = result.getExceptions().stream()
.filter( LifecycleExecutionException.class::isInstance )
- .map( LifecycleExecutionException.class::cast )
- .collect( Collectors.toList() );
+ .count();
- if ( !lifecycleExecutionExceptions.isEmpty() )
+ if ( lifecycleExecutionExceptionCount > 0 )
{
session.getAllProjects().stream()
.filter( MavenProject::isExecutionRoot )
.findFirst()
.ifPresent( rootProject ->
{
- boolean persisted = buildResumptionManager.persistResumptionData( result, rootProject );
- lifecycleExecutionExceptions.forEach( e -> e.setBuildResumptionDataSaved( persisted ) );
+ if ( buildResumptionManager.persistResumptionData( result, rootProject ) )
+ {
+ result.setResumptionDataStored();
+ }
} );
}
}
diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java
index 6ab1daa..f346b7f 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java
@@ -43,6 +43,8 @@ public class DefaultMavenExecutionResult
private final Map<MavenProject, BuildSummary> buildSummaries =
Collections.synchronizedMap( new IdentityHashMap<>() );
+ private boolean resumptionDataStored = false;
+
public MavenExecutionResult setProject( MavenProject project )
{
this.project = project;
@@ -108,4 +110,16 @@ public class DefaultMavenExecutionResult
{
buildSummaries.put( summary.getProject(), summary );
}
+
+ @Override
+ public boolean isResumptionDataStored()
+ {
+ return resumptionDataStored;
+ }
+
+ @Override
+ public void setResumptionDataStored()
+ {
+ this.resumptionDataStored = true;
+ }
}
diff --git a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java
index cb95fb1..301d459 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java
@@ -67,4 +67,18 @@ public interface MavenExecutionResult
* @param summary The build summary to add, must not be {@code null}.
*/
void addBuildSummary( BuildSummary summary );
+
+ /**
+ * Indicates whether or not resumption data has been stored.
+ * @see org.apache.maven.execution.BuildResumptionManager
+ * @return <code>true</code> when it is possible to resume the build, <code>false</code> otherwise.
+ */
+ boolean isResumptionDataStored();
+
+ /**
+ * Indicate that resumption data has been stored.
+ * @see org.apache.maven.execution.BuildResumptionManager
+ * @see #isResumptionDataStored()
+ */
+ void setResumptionDataStored();
}
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
index af9821a..0831a4f 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
@@ -33,8 +33,6 @@ public class LifecycleExecutionException
{
private MavenProject project;
- private boolean buildResumptionDataSaved = false;
-
public LifecycleExecutionException( String message )
{
super( message );
@@ -78,16 +76,6 @@ public class LifecycleExecutionException
return project;
}
- public boolean isBuildResumptionDataSaved()
- {
- return buildResumptionDataSaved;
- }
-
- public void setBuildResumptionDataSaved( boolean isBuildResumptionDataSaved )
- {
- this.buildResumptionDataSaved = isBuildResumptionDataSaved;
- }
-
private static String createMessage( MojoExecution execution, MavenProject project, Throwable cause )
{
MessageBuilder buffer = buffer( 256 );
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 657dfe0..66b1fc8 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -992,7 +992,6 @@ public class MavenCli
Map<String, String> references = new LinkedHashMap<>();
MavenProject project = null;
- boolean isResumptionDataSaved = false;
for ( Throwable exception : result.getExceptions() )
{
@@ -1004,7 +1003,6 @@ public class MavenCli
{
LifecycleExecutionException lifecycleExecutionException = (LifecycleExecutionException) exception;
project = lifecycleExecutionException.getProject();
- isResumptionDataSaved = lifecycleExecutionException.isBuildResumptionDataSaved();
}
}
@@ -1034,7 +1032,7 @@ public class MavenCli
}
List<MavenProject> sortedProjects = result.getTopologicallySortedProjects();
- if ( isResumptionDataSaved )
+ if ( result.isResumptionDataStored() )
{
logBuildResumeHint( "mvn <args> -r " );
}