[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.
This commit is contained in:
Karl Heinz Marbaise 2017-02-12 12:59:25 +01:00
parent 587317b009
commit 7cdff43aba
1 changed files with 16 additions and 11 deletions

View File

@ -55,6 +55,7 @@
* @since 3.0
* @author Kristian Rosenvold
* Builds one or more lifecycles for a full module
* NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
*/
@Component( role = Builder.class, hint = "multithreaded" )
public class MultiThreadedBuilder
@ -67,7 +68,6 @@ public class MultiThreadedBuilder
@Requirement
private LifecycleModuleBuilder lifecycleModuleBuilder;
public MultiThreadedBuilder()
{
}
@ -142,6 +142,10 @@ private void multiThreadedProjectTaskSegmentBuild( ConcurrencyDependencyGraph an
{
break;
}
// MNG-6170: Only schedule other modules from reactor if we have more modules to build than one.
if ( analyzer.getNumberOfBuilds() > 1 )
{
final List<MavenProject> newItemsThatCanBeBuilt =
analyzer.markAsFinished( projectBuild.getProject() );
for ( MavenProject mavenProject : newItemsThatCanBeBuilt )
@ -153,6 +157,7 @@ private void multiThreadedProjectTaskSegmentBuild( ConcurrencyDependencyGraph an
service.submit( cb );
}
}
}
catch ( InterruptedException e )
{
rootSession.getResult().addException( e );