[MNG-5001] short circuit to focus on read-only parameter with config
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 @@
for ( Parameter parameter : mojoDescriptor.getParameters() )
{
- PlexusConfiguration config = configuration.getChild( parameter.getName(), false );
- if ( config != null && !parameter.isEditable() )
+ if ( parameter.isEditable() )
{
- 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 );
- }
+ // mojo parameter not read-only: ignore
+ continue;
+ }
+ PlexusConfiguration config = configuration.getChild( parameter.getName(), false );
+ if ( config == null )
+ {
+ // 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 );
}
}