diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-11-28 16:16:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-28 16:16:39 +0100 |
commit | e5cb5862776f800d64fe95647456ee15de778fb3 (patch) | |
tree | edc8b7f120a61a666ab0ad0734ca7d2cb9181b90 /config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java | |
parent | 1626383a9d0a0e1ce584e7b2dcc8c59c3630dcd5 (diff) |
Revert "Use a simple tokenizer and replace the larger than container-search [run-systemtest]"
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java index 299e91f8ea2..1e3b27bc2fa 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.application.validation; +import aQute.bnd.version.VersionRange; import com.yahoo.config.model.deploy.DeployState; import org.w3c.dom.Document; @@ -62,10 +63,11 @@ public class BundleValidator extends AbstractBundleValidator { private void validateImportedPackages(DeployState state, JarFile jar, Manifest manifest) { Map<DeprecatedProvidedBundle, List<String>> deprecatedPackagesInUse = new HashMap<>(); - forEachImportPackage(manifest, (packageName) -> { + forEachImportPackage(manifest, (packageName, versionRange) -> { for (DeprecatedProvidedBundle deprecatedBundle : DeprecatedProvidedBundle.values()) { for (Predicate<String> matcher : deprecatedBundle.javaPackageMatchers) { - if (matcher.test(packageName)) { + if (matcher.test(packageName) + && (versionRange == null || deprecatedBundle.versionDiscriminator.test(versionRange))) { deprecatedPackagesInUse.computeIfAbsent(deprecatedBundle, __ -> new ArrayList<>()) .add(packageName); } @@ -89,15 +91,22 @@ public class BundleValidator extends AbstractBundleValidator { final String name; final Collection<Predicate<String>> javaPackageMatchers; + final Predicate<VersionRange> versionDiscriminator; final String description; + DeprecatedProvidedBundle(String name, String description, Collection<String> javaPackagePatterns) { + this(name, description, __ -> true, javaPackagePatterns); + } + DeprecatedProvidedBundle(String name, String description, + Predicate<VersionRange> versionDiscriminator, Collection<String> javaPackagePatterns) { this.name = name; this.javaPackageMatchers = javaPackagePatterns.stream() .map(s -> Pattern.compile(s).asMatchPredicate()) .collect(Collectors.toList()); + this.versionDiscriminator = versionDiscriminator; this.description = description; } } |