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