diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-11-02 11:30:31 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-11-02 14:02:46 +0100 |
commit | 9d828cfa1ac79eca4794cc3d4983ceffd4dcfbe6 (patch) | |
tree | 9c77579303ccc855f03765ffb627525583e37394 /vespa-enforcer-extensions | |
parent | 13a0217c1d9c12ef3294fd9829170ffa5a72e757 (diff) |
Remove support for version ranges in EnforceDependencies rule
Diffstat (limited to 'vespa-enforcer-extensions')
2 files changed, 7 insertions, 20 deletions
diff --git a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java index 154ba9db790..54ccac9d22a 100644 --- a/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java +++ b/vespa-enforcer-extensions/src/main/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependencies.java @@ -2,10 +2,6 @@ package com.yahoo.vespa.maven.plugin.enforcer; import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.versioning.ArtifactVersion; -import org.apache.maven.artifact.versioning.DefaultArtifactVersion; -import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; -import org.apache.maven.artifact.versioning.VersionRange; import org.apache.maven.enforcer.rule.api.EnforcerRule; import org.apache.maven.enforcer.rule.api.EnforcerRuleException; import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper; @@ -104,7 +100,7 @@ public class EnforceDependencies implements EnforcerRule { return children; } - // Similar rule matching to bannedDependencies + // Similar rule matching to bannedDependencies but without support for version ranges private static boolean matches(Artifact dependency, String rule) throws EnforcerRuleException { String[] segments = rule.split(":"); if (segments.length < 1 || segments.length > 6) throw new EnforcerRuleException("Invalid rule: " + rule); @@ -120,22 +116,13 @@ public class EnforceDependencies implements EnforcerRule { private static boolean segmentMatches(String value, String segmentPattern) { String regex = segmentPattern - .replace(".", "\\.").replace("*", ".*").replace(":", "\\:").replace('?', '.') - .replace("[", "\\[").replace("]", "\\]").replace("(", "\\(").replace(")", "\\)"); + .replace(".", "\\.").replace("*", ".*").replace(":", "\\:").replace('?', '.').replace("(", "\\(") + .replace(")", "\\)"); return Pattern.matches(regex, value); } - private static boolean versionMatches(String rawVersion, String segmentPattern) throws EnforcerRuleException { - try { - if (segmentMatches(rawVersion, segmentPattern)) return true; - VersionRange allowedRange = VersionRange.createFromVersionSpec(segmentPattern); - ArtifactVersion version = new DefaultArtifactVersion(rawVersion); - ArtifactVersion recommended = allowedRange.getRecommendedVersion(); - if (recommended == null) return allowedRange.containsVersion(version); - return recommended.compareTo(version) <= 0; - } catch (InvalidVersionSpecificationException e) { - throw new EnforcerRuleException(e.getMessage(), e); - } + private static boolean versionMatches(String rawVersion, String segmentPattern) { + return segmentMatches(rawVersion, segmentPattern); } public void setAllowed(List<String> allowed) { this.allowedDependencies = allowed; } diff --git a/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesTest.java b/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesTest.java index 0dcbe595121..bd7989bd65b 100644 --- a/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesTest.java +++ b/vespa-enforcer-extensions/src/test/java/com/yahoo/vespa/maven/plugin/enforcer/EnforceDependenciesTest.java @@ -70,7 +70,7 @@ class EnforceDependenciesTest { Set<Artifact> dependencies = Set.of( artifact("com.yahoo.vespa", "testutils", "8.0.0", "test")); Set<String> rules = Set.of( - "com.yahoo.vespa:testutils:[7.0.0]:jar:test"); + "com.yahoo.vespa:testutils:7.0.0:jar:test"); EnforcerRuleException exception = assertThrows( EnforcerRuleException.class, () -> EnforceDependencies.validateDependencies(dependencies, rules, true)); @@ -80,7 +80,7 @@ class EnforceDependenciesTest { Dependencies not matching any rule: - com.yahoo.vespa:testutils:jar:8.0.0:test Rules not matching any dependency: - - com.yahoo.vespa:testutils:[7.0.0]:jar:test + - com.yahoo.vespa:testutils:7.0.0:jar:test """; assertEquals(expectedErrorMessage, exception.getMessage()); } |