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/04/22 07:04:30 UTC

[maven] 01/02: [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-t
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 89fed43b06bfdd7e2369576267c26a88eef4d86e
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 b427622..9d25d35 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
@@ -767,16 +767,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 );
             }
         }