[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 )