in maven-plugin-report-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor/EnhancedPluginDescriptorBuilder.java [81:121]
public MojoDescriptor buildComponentDescriptor(PlexusConfiguration c, PluginDescriptor pluginDescriptor)
throws PlexusConfigurationException {
MojoDescriptor mojoDescriptor = super.buildComponentDescriptor(c, pluginDescriptor);
// ----------------------------------------------------------------------
// Parameters
// ----------------------------------------------------------------------
PlexusConfiguration[] parameterConfigurations = c.getChild("parameters").getChildren("parameter");
List<Parameter> parameters = new ArrayList<>(
Optional.ofNullable(mojoDescriptor.getParameters()).orElseGet(Collections::emptyList));
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 = parameterMap.get(parameterName);
if (requireAddingMissingParameterSinceField) {
addMissingParameterSinceField(pd, d);
}
PlexusConfiguration configTypeJavadocUrl = d.getChild("typeJavadocUrl", false);
if (configTypeJavadocUrl != null) {
String parameterTypeJavadocUrl = configTypeJavadocUrl.getValue();
EnhancedParameterWrapper enhancedParameter = new EnhancedParameterWrapper(pd);
enhancedParameter.setTypeJavadocUrl(URI.create(parameterTypeJavadocUrl));
parameters.set(mojoDescriptor.getParameters().indexOf(pd), enhancedParameter);
parameterMap.put(parameterName, enhancedParameter);
}
}
// TODO This cruft has been resolved in Maven 3.8.9/3.9.7/4.0.0-alpha-1 with MNG-6776/MNG-7309
if (mojoDescriptor.getParameters() != null) {
mojoDescriptor.getParameters().clear();
}
// set parameters
mojoDescriptor.setParameters(parameters);
mojoDescriptor.getParameterMap().putAll(parameterMap);
return mojoDescriptor;
}