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 ArtifactFactory factory;
45
46
47 ArtifactResolver resolver;
48
49
50 ArtifactRepository local;
51
52
53 List<ArtifactRepository> remoteRepositories;
54
55
56 Log log;
57
58
59 MavenProject project;
60
61 private EnforcerRuleHelper helper;
62
63
64
65
66
67
68
69
70
71
72
73 public EnforcerRuleUtils( ArtifactFactory theFactory, ArtifactResolver theResolver, ArtifactRepository theLocal,
74 List<ArtifactRepository> theRemoteRepositories, MavenProject project, Log theLog )
75 {
76 super();
77 this.factory = theFactory;
78 this.resolver = theResolver;
79 this.local = theLocal;
80 this.remoteRepositories = theRemoteRepositories;
81 this.log = theLog;
82 this.project = project;
83 }
84
85
86
87
88
89
90 public EnforcerRuleUtils( EnforcerRuleHelper helper )
91 {
92
93 this.helper = helper;
94
95
96 try
97 {
98 factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
99 resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
100 local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
101 project = (MavenProject) helper.evaluate( "${project}" );
102 remoteRepositories = project.getRemoteArtifactRepositories();
103 }
104 catch ( ComponentLookupException e )
105 {
106
107 e.printStackTrace();
108 }
109 catch ( ExpressionEvaluationException e )
110 {
111
112 e.printStackTrace();
113 }
114 }
115
116 private void resolve( Plugin plugin )
117 {
118 try
119 {
120 plugin.setGroupId( (String) helper.evaluate( plugin.getGroupId() ) );
121 plugin.setArtifactId( (String) helper.evaluate( plugin.getArtifactId() ) );
122 plugin.setVersion( (String) helper.evaluate( plugin.getVersion() ) );
123 }
124 catch ( ExpressionEvaluationException e )
125 {
126
127 }
128 }
129
130 private void resolve( ReportPlugin plugin )
131 {
132 try
133 {
134 plugin.setGroupId( (String) helper.evaluate( plugin.getGroupId() ) );
135 plugin.setArtifactId( (String) helper.evaluate( plugin.getArtifactId() ) );
136 plugin.setVersion( (String) helper.evaluate( plugin.getVersion() ) );
137 }
138 catch ( ExpressionEvaluationException e )
139 {
140
141 }
142 }
143
144 public List<Plugin> resolvePlugins( List<Plugin> plugins )
145 {
146 for ( Plugin plugin : plugins )
147 {
148 resolve( plugin );
149 }
150 return plugins;
151 }
152
153 public List<ReportPlugin> resolveReportPlugins( List<ReportPlugin> reportPlugins )
154 {
155 for ( ReportPlugin plugin : reportPlugins )
156 {
157 resolve( plugin );
158 }
159 return reportPlugins;
160 }
161
162 }