1 package org.apache.maven.plugin;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.artifact.Artifact;
23 import org.apache.maven.plugin.descriptor.PluginDescriptor;
24 import org.codehaus.plexus.component.discovery.ComponentDiscoveryEvent;
25 import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener;
26 import org.codehaus.plexus.component.repository.ComponentSetDescriptor;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 public class MavenPluginValidator
32 implements ComponentDiscoveryListener
33 {
34 private final Artifact pluginArtifact;
35
36 private List
37
38 public MavenPluginValidator( Artifact pluginArtifact )
39 {
40 this.pluginArtifact = pluginArtifact;
41 }
42
43 public void componentDiscovered( ComponentDiscoveryEvent event )
44 {
45 ComponentSetDescriptor componentSetDescriptor = event.getComponentSetDescriptor();
46
47 if ( componentSetDescriptor instanceof PluginDescriptor )
48 {
49 PluginDescriptor pluginDescriptor = (PluginDescriptor) componentSetDescriptor;
50
51 if ( !pluginArtifact.getGroupId().equals( pluginDescriptor.getGroupId() ) )
52 {
53 errors.add( "Plugin's descriptor contains the wrong group ID: " + pluginDescriptor.getGroupId() );
54 }
55
56 if ( !pluginArtifact.getArtifactId().equals( pluginDescriptor.getArtifactId() ) )
57 {
58 errors.add( "Plugin's descriptor contains the wrong artifact ID: " + pluginDescriptor.getArtifactId() );
59 }
60
61 if ( !pluginArtifact.getBaseVersion().equals( pluginDescriptor.getVersion() ) )
62 {
63 errors.add( "Plugin's descriptor contains the wrong version: " + pluginDescriptor.getVersion() );
64 }
65 }
66 }
67
68 public boolean hasErrors()
69 {
70 return !errors.isEmpty();
71 }
72
73 public List
74 {
75 return errors;
76 }
77 }
78