in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/BanDynamicVersions.java [173:203]
public boolean accept(DependencyNode node, List<DependencyNode> parents) {
if (isRoot) {
isRoot = false;
return false;
}
getLog().debug("Found node " + node + " with version constraint " + node.getVersionConstraint());
if (!predicate.test(node)) {
return false;
}
VersionConstraint versionConstraint = node.getVersionConstraint();
if (isBannedDynamicVersion(versionConstraint)) {
addViolation(versionConstraint, node, parents);
return true;
}
try {
if (verbose) {
String premanagedVersion = DependencyManagerUtils.getPremanagedVersion(node);
if (premanagedVersion != null) {
VersionConstraint premanagedContraint = versionScheme.parseVersionConstraint(premanagedVersion);
if (isBannedDynamicVersion(premanagedContraint)) {
addViolation(premanagedContraint, node, parents);
return true;
}
}
}
} catch (InvalidVersionSpecificationException ex) {
// This should never happen.
throw new RuntimeException("Failed to parse version for " + node, ex);
}
return false;
}