You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2020/12/27 17:49:03 UTC

[maven] 03/04: [MNG-5001] short circuit to focus on read-only parameter with config

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch MNG-5001
in repository https://gitbox.apache.org/repos/asf/maven.git

commit a76f14bf284ea32bec553b7be8ecce152d40a751
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Wed Apr 22 08:42:51 2020 +0200

    [MNG-5001] short circuit to focus on read-only parameter with config
---
 .../plugin/internal/DefaultMavenPluginManager.java | 24 ++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
index 788aadd..89d8d0d 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
@@ -770,16 +770,24 @@ public class DefaultMavenPluginManager
 
         for ( Parameter parameter : mojoDescriptor.getParameters() )
         {
+            if ( parameter.isEditable() )
+            {
+                // mojo parameter not read-only: ignore
+                continue;
+            }
             PlexusConfiguration config = configuration.getChild( parameter.getName(), false );
-            if ( config != null && !parameter.isEditable() )
+            if ( config == null )
             {
-                String value = config.getValue( null );
-                String defaultValue = config.getAttribute( "default-value", null );
-                if ( value != null && defaultValue != null && !Objects.equals( defaultValue, value ) )
-                {
-                    invalidParameters.add( parameter );
-                    logger.error( "Setting read-only parameter '" + parameter.getName() + "' to " + value );
-                }
+              // parameter not configured: ignore
+              continue;
+            }
+
+            String value = config.getValue( null );
+            String defaultValue = config.getAttribute( "default-value", null );
+            if ( value != null && defaultValue != null && !Objects.equals( defaultValue, value ) )
+            {
+                invalidParameters.add( parameter );
+                logger.error( "Setting read-only parameter '" + parameter.getName() + "' to " + value );
             }
         }