Author: rfscholte
Date: Sat Oct 27 19:49:29 2012
New Revision: 1402856

URL: http://svn.apache.org/viewvc?rev=1402856&view=rev
Log:
[MINVOKER-137] Maven 2.2.1 NullPointerException with mergeUserSettings parameter
(failing) IT was already there

Modified:
    
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java

Modified: 
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java?rev=1402856&r1=1402855&r2=1402856&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
 Sat Oct 27 19:49:29 2012
@@ -31,6 +31,7 @@ import org.apache.maven.plugin.registry.
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.RuntimeInfo;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.SettingsUtils;
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
@@ -1036,6 +1037,16 @@ public abstract class AbstractInvokerMoj
                     reader = new XmlStreamReader( interpolatedSettingsFile );
                     SettingsXpp3Reader settingsReader = new 
SettingsXpp3Reader();
                     Settings dominantSettings = settingsReader.read( reader );
+
+                    // MINVOKER-137: NPE on dominantSettings.getRuntimeInfo()
+                    // DefaultMavenSettingsBuilder does the same trick
+                    if( dominantSettings.getRuntimeInfo() == null )
+                    {
+                        RuntimeInfo rtInfo = new RuntimeInfo( dominantSettings 
);
+                        rtInfo.setFile( interpolatedSettingsFile );
+                        dominantSettings.setRuntimeInfo( rtInfo );
+                    }
+                    
                     Settings recessiveSettings = this.settings;
 
                     SettingsUtils.merge( dominantSettings, recessiveSettings, 
TrackableBase.USER_LEVEL );


Reply via email to