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.api.xml.XmlNode;
27 import org.apache.maven.model.Build;
28 import org.apache.maven.model.Model;
29 import org.apache.maven.model.Plugin;
30 import org.apache.maven.model.PluginExecution;
31 import org.apache.maven.model.PluginManagement;
32 import org.apache.maven.model.building.ModelBuildingRequest;
33 import org.apache.maven.model.building.ModelProblemCollector;
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 XmlNode pluginConfiguration = plugin.getDelegate().getConfiguration();
63
64 if (pluginConfiguration != null) {
65 for (PluginExecution execution : plugin.getExecutions()) {
66 XmlNode executionConfiguration = execution.getDelegate().getConfiguration();
67 executionConfiguration = XmlNode.merge(executionConfiguration, pluginConfiguration);
68 execution.update(execution.getDelegate().withConfiguration(executionConfiguration));
69 }
70 }
71 }
72 }
73 }