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 java.util.List;
25
26 import org.apache.maven.model.Build;
27 import org.apache.maven.model.Model;
28 import org.apache.maven.model.Plugin;
29 import org.apache.maven.model.PluginExecution;
30 import org.apache.maven.model.PluginManagement;
31 import org.apache.maven.model.building.ModelBuildingRequest;
32 import org.apache.maven.model.building.ModelProblemCollector;
33 import org.codehaus.plexus.util.xml.Xpp3Dom;
34
35
36
37
38
39
40 @Named
41 @Singleton
42 @Deprecated(since = "4.0.0")
43 public class DefaultPluginConfigurationExpander implements PluginConfigurationExpander {
44
45 @Override
46 public void expandPluginConfiguration(Model model, ModelBuildingRequest request, ModelProblemCollector problems) {
47 Build build = model.getBuild();
48
49 if (build != null) {
50 expand(build.getPlugins());
51
52 PluginManagement pluginManagement = build.getPluginManagement();
53
54 if (pluginManagement != null) {
55 expand(pluginManagement.getPlugins());
56 }
57 }
58 }
59
60 private void expand(List<Plugin> plugins) {
61 for (Plugin plugin : plugins) {
62 Xpp3Dom pluginConfiguration = (Xpp3Dom) plugin.getConfiguration();
63
64 if (pluginConfiguration != null) {
65 for (PluginExecution execution : plugin.getExecutions()) {
66 Xpp3Dom executionConfiguration = (Xpp3Dom) execution.getConfiguration();
67
68 executionConfiguration =
69 Xpp3Dom.mergeXpp3Dom(executionConfiguration, new Xpp3Dom(pluginConfiguration));
70
71 execution.setConfiguration(executionConfiguration);
72 }
73 }
74 }
75 }
76 }