1 package org.apache.maven.plugins.enforcer.utils;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.List;
23
24 import org.apache.maven.artifact.factory.ArtifactFactory;
25 import org.apache.maven.artifact.repository.ArtifactRepository;
26 import org.apache.maven.artifact.resolver.ArtifactResolver;
27 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
28 import org.apache.maven.model.Plugin;
29 import org.apache.maven.model.ReportPlugin;
30 import org.apache.maven.plugin.logging.Log;
31 import org.apache.maven.project.MavenProject;
32 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
33 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
34
35
36
37
38
39
40 public class EnforcerRuleUtils
41 {
42
43
44 ArtifactResolver resolver;
45
46
47 ArtifactRepository local;
48
49
50 List<ArtifactRepository> remoteRepositories;
51
52
53 Log log;
54
55
56 MavenProject project;
57
58 private EnforcerRuleHelper helper;
59
60
61
62
63
64
65
66
67
68
69
70 public EnforcerRuleUtils( ArtifactFactory theFactory, ArtifactResolver theResolver, ArtifactRepository theLocal,
71 List<ArtifactRepository> theRemoteRepositories, MavenProject project, Log theLog )
72 {
73 super();
74 this.resolver = theResolver;
75 this.local = theLocal;
76 this.remoteRepositories = theRemoteRepositories;
77 this.log = theLog;
78 this.project = project;
79 }
80
81
82
83
84
85
86 public EnforcerRuleUtils( EnforcerRuleHelper helper )
87 {
88
89 this.helper = helper;
90
91
92 try
93 {
94 resolver = helper.getComponent( ArtifactResolver.class );
95 local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
96 project = (MavenProject) helper.evaluate( "${project}" );
97 remoteRepositories = project.getRemoteArtifactRepositories();
98 }
99 catch ( ComponentLookupException | ExpressionEvaluationException e )
100 {
101
102 e.printStackTrace();
103 }
104 }
105
106 private void resolve( Plugin plugin )
107 {
108 try
109 {
110 plugin.setGroupId( (String) helper.evaluate( plugin.getGroupId() ) );
111 plugin.setArtifactId( (String) helper.evaluate( plugin.getArtifactId() ) );
112 plugin.setVersion( (String) helper.evaluate( plugin.getVersion() ) );
113 }
114 catch ( ExpressionEvaluationException e )
115 {
116
117 }
118 }
119
120 private void resolve( ReportPlugin plugin )
121 {
122 try
123 {
124 plugin.setGroupId( (String) helper.evaluate( plugin.getGroupId() ) );
125 plugin.setArtifactId( (String) helper.evaluate( plugin.getArtifactId() ) );
126 plugin.setVersion( (String) helper.evaluate( plugin.getVersion() ) );
127 }
128 catch ( ExpressionEvaluationException e )
129 {
130
131 }
132 }
133
134 public List<Plugin> resolvePlugins( List<Plugin> plugins )
135 {
136 for ( Plugin plugin : plugins )
137 {
138 resolve( plugin );
139 }
140 return plugins;
141 }
142
143 public List<ReportPlugin> resolveReportPlugins( List<ReportPlugin> reportPlugins )
144 {
145 for ( ReportPlugin plugin : reportPlugins )
146 {
147 resolve( plugin );
148 }
149 return reportPlugins;
150 }
151
152 }