[MNG-6170] NPE in cases using Multithreaded -T X versions:set
-DnewVersion=1.0-SNAPSHOT
 o In some cases the code will return a null which should
   not be scheduled.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/238f789a
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/238f789a
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/238f789a

Branch: refs/heads/MNG-6170
Commit: 238f789ad07a18c0dff7f884c9a5d3b47258fc47
Parents: f8ab2a6
Author: Karl Heinz Marbaise <khmarba...@apache.org>
Authored: Sun Feb 12 12:59:25 2017 +0100
Committer: Karl Heinz Marbaise <khmarba...@apache.org>
Committed: Tue Feb 14 22:02:32 2017 +0100

----------------------------------------------------------------------
 .../builder/multithreaded/MultiThreadedBuilder.java | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/238f789a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
----------------------------------------------------------------------
diff --git 
a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
 
b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
index f0fa2ac..3dde4ea 100644
--- 
a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
+++ 
b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
@@ -142,15 +142,17 @@ public class MultiThreadedBuilder
                 {
                     break;
                 }
-                final List<MavenProject> newItemsThatCanBeBuilt =
-                    analyzer.markAsFinished( projectBuild.getProject() );
+                final List<MavenProject> newItemsThatCanBeBuilt = 
analyzer.markAsFinished( projectBuild.getProject() );
                 for ( MavenProject mavenProject : newItemsThatCanBeBuilt )
                 {
-                    ProjectSegment scheduledDependent = projectBuildList.get( 
mavenProject );
-                    logger.debug( "Scheduling: " + scheduledDependent );
-                    Callable<ProjectSegment> cb =
-                        createBuildCallable( rootSession, scheduledDependent, 
reactorContext, taskSegment, muxer );
-                    service.submit( cb );
+                    if ( projectBuildList.containsKey( mavenProject ) )
+                    {
+                        ProjectSegment scheduledDependent = 
projectBuildList.get( mavenProject );
+                        logger.debug( "Scheduling: " + scheduledDependent );
+                        Callable<ProjectSegment> cb =
+                            createBuildCallable( rootSession, 
scheduledDependent, reactorContext, taskSegment, muxer );
+                        service.submit( cb );
+                    }
                 }
             }
             catch ( InterruptedException e )

Reply via email to