1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  package org.apache.maven.model.plugin;
20  
21  import javax.inject.Named;
22  import javax.inject.Singleton;
23  
24  import org.apache.maven.api.xml.XmlNode;
25  import org.apache.maven.model.Model;
26  import org.apache.maven.model.ReportPlugin;
27  import org.apache.maven.model.ReportSet;
28  import org.apache.maven.model.Reporting;
29  import org.apache.maven.model.building.ModelBuildingRequest;
30  import org.apache.maven.model.building.ModelProblemCollector;
31  
32  
33  
34  
35  
36  
37  @Named
38  @Singleton
39  @Deprecated(since = "4.0.0")
40  public class DefaultReportConfigurationExpander implements ReportConfigurationExpander {
41  
42      @Override
43      public void expandPluginConfiguration(Model model, ModelBuildingRequest request, ModelProblemCollector problems) {
44          Reporting reporting = model.getReporting();
45  
46          if (reporting != null) {
47              for (ReportPlugin reportPlugin : reporting.getPlugins()) {
48                  XmlNode parentDom = reportPlugin.getDelegate().getConfiguration();
49  
50                  if (parentDom != null) {
51                      for (ReportSet execution : reportPlugin.getReportSets()) {
52                          XmlNode childDom = execution.getDelegate().getConfiguration();
53                          childDom = XmlNode.merge(childDom, parentDom);
54                          execution.update(execution.getDelegate().withConfiguration(childDom));
55                      }
56                  }
57              }
58          }
59      }
60  }