1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.enforcer.rules.utils;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23
24 import java.util.List;
25 import java.util.Objects;
26
27 import org.apache.maven.model.Plugin;
28 import org.apache.maven.model.ReportPlugin;
29 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
30
31
32
33
34
35
36 @Named
37 public class EnforcerRuleUtils {
38
39 private final ExpressionEvaluator evaluator;
40
41
42
43
44
45 @Inject
46 public EnforcerRuleUtils(ExpressionEvaluator evaluator) {
47 this.evaluator = Objects.requireNonNull(evaluator);
48 }
49
50 private void resolve(Plugin plugin) {
51 try {
52 plugin.setGroupId((String) evaluator.evaluate(plugin.getGroupId()));
53 plugin.setArtifactId((String) evaluator.evaluate(plugin.getArtifactId()));
54 plugin.setVersion((String) evaluator.evaluate(plugin.getVersion()));
55 } catch (ExpressionEvaluationException e) {
56
57 }
58 }
59
60 private void resolve(ReportPlugin plugin) {
61 try {
62 plugin.setGroupId((String) evaluator.evaluate(plugin.getGroupId()));
63 plugin.setArtifactId((String) evaluator.evaluate(plugin.getArtifactId()));
64 plugin.setVersion((String) evaluator.evaluate(plugin.getVersion()));
65 } catch (ExpressionEvaluationException e) {
66
67 }
68 }
69
70 public List<Plugin> resolvePlugins(List<Plugin> plugins) {
71 for (Plugin plugin : plugins) {
72 resolve(plugin);
73 }
74 return plugins;
75 }
76
77 public List<ReportPlugin> resolveReportPlugins(List<ReportPlugin> reportPlugins) {
78 for (ReportPlugin plugin : reportPlugins) {
79 resolve(plugin);
80 }
81 return reportPlugins;
82 }
83 }