public void enforceVersion()

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);
                }
            }
        }
    }