NullPointerException with multi module maven build inside IntelliJ
I have issues using the GIB plugin (version 3.6) with a multi module maven project with IntelliJ when this module contains changed files outside the build project.
The build fails with an NPE (from idea.log):
2018-10-04 10:23:17,518 [4126372] INFO - #org.jetbrains.idea.maven - org.apache.maven.MavenExecutionException: Exception during gitflow-incremental-builder execution occurred.
java.lang.RuntimeException: org.apache.maven.MavenExecutionException: Exception during gitflow-incremental-builder execution occurred.
at com.vackosar.gitflowincrementalbuild.boundary.MavenLifecycleParticipant.afterProjectsRead(MavenLifecycleParticipant.java:38)
at org.jetbrains.idea.maven.server.Maven3ServerEmbedderImpl.loadExtensions(Maven3ServerEmbedderImpl.java:805)
at org.jetbrains.idea.maven.server.Maven3ServerEmbedderImpl.access$400(Maven3ServerEmbedderImpl.java:106)
at org.jetbrains.idea.maven.server.Maven3ServerEmbedderImpl$3.run(Maven3ServerEmbedderImpl.java:680)
at org.jetbrains.idea.maven.server.Maven3ServerEmbedderImpl.executeWithMavenSession(Maven3ServerEmbedderImpl.java:628)
at org.jetbrains.idea.maven.server.Maven3ServerEmbedderImpl.doResolveProject(Maven3ServerEmbedderImpl.java:647)
at org.jetbrains.idea.maven.server.Maven3ServerEmbedderImpl.resolveProject(Maven3ServerEmbedderImpl.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at com.vackosar.gitflowincrementalbuild.boundary.UnchangedProjectsRemover.streamProjectWithDependents(UnchangedProjectsRemover.java:120)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1548)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.vackosar.gitflowincrementalbuild.boundary.UnchangedProjectsRemover.act(UnchangedProjectsRemover.java:44)
at com.vackosar.gitflowincrementalbuild.boundary.MavenLifecycleParticipant.execute(MavenLifecycleParticipant.java:47)
at com.vackosar.gitflowincrementalbuild.boundary.MavenLifecycleParticipant.afterProjectsRead(MavenLifecycleParticipant.java:27)
... 23 more```