This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch m-api in repository https://gitbox.apache.org/repos/asf/maven-plugin-tools.git
commit 7da011e75075ed79065aeaafe63be671c4e25db4 Author: Guillaume Nodet <[email protected]> AuthorDate: Fri Oct 21 09:16:43 2022 +0200 Fix enhanced descriptor builder to make it compatible with recent changes --- .../descriptor/EnhancedPluginDescriptorBuilder.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor/EnhancedPluginDescriptorBuilder.java b/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor/EnhancedPluginDescriptorBuilder.java index 8d3361a2..38805eac 100644 --- a/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor/EnhancedPluginDescriptorBuilder.java +++ b/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor/EnhancedPluginDescriptorBuilder.java @@ -30,6 +30,10 @@ import org.codehaus.plexus.configuration.PlexusConfigurationException; import org.apache.maven.plugin.plugin.report.PluginReport; import java.net.URI; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; /** * Reads enhanced plugin.xml files as generated by @@ -63,11 +67,14 @@ public class EnhancedPluginDescriptorBuilder extends PluginDescriptorBuilder PlexusConfiguration[] parameterConfigurations = c.getChild( "parameters" ).getChildren( "parameter" ); + List<Parameter> parameters = new ArrayList<>( mojoDescriptor.getParameters() ); + Map<String, Parameter> parameterMap = new LinkedHashMap<>( mojoDescriptor.getParameterMap() ); + for ( PlexusConfiguration d : parameterConfigurations ) { String parameterName = d.getChild( "name" ).getValue(); // don't call getParameterMap() to not populate - Parameter pd = mojoDescriptor.getParameterMap().get( parameterName ); + Parameter pd = parameterMap.get( parameterName ); if ( requireAddingMissingParameterSinceField ) { addMissingParameterSinceField( pd, d ); @@ -78,10 +85,14 @@ public class EnhancedPluginDescriptorBuilder extends PluginDescriptorBuilder String parameterTypeJavadocUrl = configTypeJavadocUrl.getValue(); EnhancedParameterWrapper enhancedParameter = new EnhancedParameterWrapper( pd ); enhancedParameter.setTypeJavadocUrl( URI.create( parameterTypeJavadocUrl ) ); - mojoDescriptor.getParameters().set( mojoDescriptor.getParameters().indexOf( pd ), enhancedParameter ); - mojoDescriptor.getParameterMap().put( parameterName, enhancedParameter ); + parameters.set( mojoDescriptor.getParameters().indexOf( pd ), enhancedParameter ); + parameterMap.put( parameterName, enhancedParameter ); } } + + mojoDescriptor.getParameters().clear(); + mojoDescriptor.setParameters( parameters ); + return mojoDescriptor; }
