1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.enforcer.rules;
20
21 import javax.inject.Named;
22
23 import java.util.List;
24
25 import org.apache.commons.lang3.SystemUtils;
26 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
27
28
29
30
31
32
33
34
35 @Named("requireJavaVendor")
36 public final class RequireJavaVendor extends AbstractStandardEnforcerRule {
37
38
39
40
41 private List<String> includes;
42
43
44
45
46 private List<String> excludes;
47
48
49
50
51
52
53
54 @Override
55 public String getCacheId() {
56 String result = "";
57
58 if (includes != null) {
59 result += "" + includes.hashCode();
60 }
61
62 if (excludes != null) {
63 result += "" + excludes.hashCode();
64 }
65
66 if (getMessage() != null) {
67 result += "" + getMessage().hashCode();
68 }
69
70 return result;
71 }
72
73 @Override
74 public void execute() throws EnforcerRuleException {
75 if (excludes != null && excludes.contains(SystemUtils.JAVA_VENDOR)) {
76 String message = getMessage();
77 if (message == null) {
78 message = String.format(
79 "%s is an excluded Required Java Vendor (JAVA_HOME=%s)",
80 SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
81 }
82 throw new EnforcerRuleException(message);
83 } else if (includes != null && !includes.contains(SystemUtils.JAVA_VENDOR)) {
84 String message = getMessage();
85 if (message == null) {
86 message = String.format(
87 "%s is not an included Required Java Vendor (JAVA_HOME=%s)",
88 SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_HOME);
89 }
90 throw new EnforcerRuleException(message);
91 }
92 }
93
94
95
96
97
98
99
100
101 public void setExcludes(List<String> theExcludes) {
102 this.excludes = theExcludes;
103 }
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 public void setIncludes(List<String> theIncludes) {
122 this.includes = theIncludes;
123 }
124
125 @Override
126 public String toString() {
127 return String.format(
128 "RequireJavaVendor[message=%s, includes=%s, excludes=%s]", getMessage(), includes, excludes);
129 }
130 }