1 package org.apache.maven.plugin.coreit;
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.model.Model;
23 import org.apache.maven.plugin.AbstractMojo;
24 import org.apache.maven.plugin.MojoExecutionException;
25 import org.apache.maven.plugin.MojoFailureException;
26 import org.apache.maven.project.MavenProject;
27
28 import java.util.Enumeration;
29 import java.util.Properties;
30
31
32
33
34
35 public class PropertyInterpolationVerifierMojo
36 extends AbstractMojo
37 {
38
39
40
41
42 private MavenProject project;
43
44
45
46
47 private Properties properties;
48
49 public void execute()
50 throws MojoExecutionException, MojoFailureException
51 {
52 Model model = project.getModel();
53 if ( properties == null )
54 {
55 return;
56 }
57
58 Enumeration e = properties.propertyNames();
59 while ( e.hasMoreElements() )
60 {
61 String name = (String) e.nextElement();
62 String value = properties.getProperty( name );
63 if ( !value.equals( model.getProperties().getProperty( name ) ) )
64 {
65 throw new MojoExecutionException( "Properties do not match: Name = " + name + ", Value = " + value );
66 }
67
68 if ( value.contains( "${" ) )
69 {
70 throw new MojoExecutionException( "Unresolved value: Name = " + name + ", Value = " + value );
71 }
72
73 getLog().info( "Property match: Name = " + name + ", Value = " + value );
74 }
75 }
76 }