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