You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/04/26 14:59:59 UTC

svn commit: r1330826 - in /maven/plugins/trunk/maven-invoker-plugin/src: it/settings-inherit/pom.xml it/settings-merge/pom.xml main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java

Author: olamy
Date: Thu Apr 26 12:59:58 2012
New Revision: 1330826

URL: http://svn.apache.org/viewvc?rev=1330826&view=rev
Log:
add a flag to merge settings off by default

Modified:
    maven/plugins/trunk/maven-invoker-plugin/src/it/settings-inherit/pom.xml
    maven/plugins/trunk/maven-invoker-plugin/src/it/settings-merge/pom.xml
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java

Modified: maven/plugins/trunk/maven-invoker-plugin/src/it/settings-inherit/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/it/settings-inherit/pom.xml?rev=1330826&r1=1330825&r2=1330826&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/it/settings-inherit/pom.xml (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/it/settings-inherit/pom.xml Thu Apr 26 12:59:58 2012
@@ -42,6 +42,7 @@ under the License.
         <configuration>
           <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
           <cloneClean>true</cloneClean>
+          <mergeUserSettings>true</mergeUserSettings>
         </configuration>
         <executions>
           <execution>

Modified: maven/plugins/trunk/maven-invoker-plugin/src/it/settings-merge/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/it/settings-merge/pom.xml?rev=1330826&r1=1330825&r2=1330826&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/it/settings-merge/pom.xml (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/it/settings-merge/pom.xml Thu Apr 26 12:59:58 2012
@@ -44,6 +44,7 @@ under the License.
           <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
           <cloneClean>true</cloneClean>
           <settingsFile>src/it/settings.xml</settingsFile>
+          <mergeUserSettings>true</mergeUserSettings>
         </configuration>
         <executions>
           <execution>

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=1330826&r1=1330825&r2=1330826&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 Thu Apr 26 12:59:58 2012
@@ -557,6 +557,13 @@ public abstract class AbstractInvokerMoj
      */
     private List<Artifact> pluginArtifacts;
 
+
+    /**
+     * @parameter expression="${invoker.mergeUserSettings}" default-value="false"
+     * @since 1.6
+     */
+    private boolean mergeUserSettings;
+
     /**
      * The scripter runner that is responsible to execute hook scripts.
      */
@@ -1026,40 +1033,39 @@ public abstract class AbstractInvokerMoj
         SettingsXpp3Writer settingsWriter = new SettingsXpp3Writer();
 
         File mergedSettingsFile;
-        Settings mergedSettings = null;
-        if ( interpolatedSettingsFile != null )
+        Settings mergedSettings = this.settings;
+        if ( mergeUserSettings )
         {
-            // Have to merge the specified settings file (dominant) and the one of the invoking Maven process
-            Reader reader = null;
-            try
+            if ( interpolatedSettingsFile != null )
             {
-                reader = new XmlStreamReader( interpolatedSettingsFile );
-                SettingsXpp3Reader settingsReader = new SettingsXpp3Reader();
-                Settings dominantSettings = settingsReader.read( reader );
-                Settings recessiveSettings = this.settings;
+                // Have to merge the specified settings file (dominant) and the one of the invoking Maven process
+                Reader reader = null;
+                try
+                {
+                    reader = new XmlStreamReader( interpolatedSettingsFile );
+                    SettingsXpp3Reader settingsReader = new SettingsXpp3Reader();
+                    Settings dominantSettings = settingsReader.read( reader );
+                    Settings recessiveSettings = this.settings;
 
-                SettingsUtils.merge( dominantSettings, recessiveSettings, TrackableBase.USER_LEVEL );
+                    SettingsUtils.merge( dominantSettings, recessiveSettings, TrackableBase.USER_LEVEL );
 
-                mergedSettings = dominantSettings;
-                getLog().debug( "Merged specified settings file with settings of invoking process" );
-            }
-            catch ( XmlPullParserException e )
-            {
-                throw new MojoExecutionException( "Could not read specified settings file", e );
-            }
-            catch ( IOException e )
-            {
-                throw new MojoExecutionException( "Could not read specified settings file", e );
-            }
-            finally
-            {
-                IOUtil.close( reader );
+                    mergedSettings = dominantSettings;
+                    getLog().debug( "Merged specified settings file with settings of invoking process" );
+                }
+                catch ( XmlPullParserException e )
+                {
+                    throw new MojoExecutionException( "Could not read specified settings file", e );
+                }
+                catch ( IOException e )
+                {
+                    throw new MojoExecutionException( "Could not read specified settings file", e );
+                }
+                finally
+                {
+                    IOUtil.close( reader );
+                }
             }
         }
-        else
-        {
-            mergedSettings = this.settings;
-        }
 
         try
         {
@@ -1432,7 +1438,6 @@ public abstract class AbstractInvokerMoj
 
             request.setShowVersion( showVersion );
 
-
             if ( logger != null )
             {
                 request.setErrorHandler( logger );