in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java [60:95]
public void enforceVersion(String variableName, String requiredVersionRange, ArtifactVersion actualVersion)
throws EnforcerRuleException
// CHECKSTYLE_ON: LineLength
{
if (requiredVersionRange == null || requiredVersionRange.isEmpty()) {
throw new EnforcerRuleException(variableName + " version can't be empty.");
} else {
VersionRange vr;
String msg = "Detected " + variableName + " Version: " + actualVersion;
// short circuit check if the strings are exactly equal
if (actualVersion.toString().equals(requiredVersionRange)) {
getLog().debug(msg + " is allowed in the range " + requiredVersionRange + ".");
} else {
try {
vr = VersionRange.createFromVersionSpec(requiredVersionRange);
if (containsVersion(vr, actualVersion)) {
getLog().debug(msg + " is allowed in the range " + toString(vr) + ".");
} else {
String message = getMessage();
if (message == null || message.isEmpty()) {
message = msg + " is not in the allowed range " + toString(vr) + ".";
}
throw new EnforcerRuleException(message);
}
} catch (InvalidVersionSpecificationException e) {
throw new EnforcerRuleException(
"The requested " + variableName + " version " + requiredVersionRange + " is invalid.", e);
}
}
}
}