diff options
7 files changed, 12 insertions, 49 deletions
diff --git a/config-model-fat/pom.xml b/config-model-fat/pom.xml index 8bca56a949c..34034f5e53b 100644 --- a/config-model-fat/pom.xml +++ b/config-model-fat/pom.xml @@ -192,8 +192,6 @@ <!-- 3rd party artifacts embedded --> <i>aopalliance:aopalliance:*:*</i> - <i>biz.aQute.bnd:biz.aQute.bnd.util:*:*</i> - <i>biz.aQute.bnd:biz.aQute.bndlib:*:*</i> <i>com.google.errorprone:error_prone_annotations:*:*</i> <i>com.google.guava:failureaccess:*:*</i> <i>com.google.guava:guava:*:*</i> diff --git a/config-model/pom.xml b/config-model/pom.xml index e5ccfbcc51b..79e892903fa 100644 --- a/config-model/pom.xml +++ b/config-model/pom.xml @@ -289,22 +289,6 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>biz.aQute.bnd</groupId> - <artifactId>biz.aQute.bndlib</artifactId> - <version>6.1.0</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </exclusion> - <exclusion> - <!-- These are not needed for our use of bndlib --> - <groupId>org.osgi</groupId> - <artifactId>*</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> <groupId>org.lz4</groupId> <artifactId>lz4-java</artifactId> </dependency> diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/AbstractBundleValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/AbstractBundleValidator.java index 9c0e7be452a..63ee5b06dfb 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/AbstractBundleValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/AbstractBundleValidator.java @@ -1,9 +1,6 @@ // 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.header.Parameters; -import aQute.bnd.osgi.Domain; -import aQute.bnd.version.VersionRange; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.application.api.ComponentInfo; import com.yahoo.config.application.api.DeployLogger; @@ -23,7 +20,6 @@ import java.io.IOException; import java.io.StringReader; import java.nio.file.Paths; import java.util.Optional; -import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.jar.JarFile; import java.util.jar.Manifest; @@ -31,7 +27,7 @@ import java.util.logging.Level; import java.util.regex.Pattern; /** - * Base class for OSGi bundle validator. Uses BND library for some of the validation. + * Base class for OSGi bundle validator. * * @author bjorncs */ @@ -79,14 +75,13 @@ public abstract class AbstractBundleValidator extends Validator { } } - protected final void forEachImportPackage(Manifest mf, BiConsumer<String, VersionRange> consumer) { - Parameters importPackage = Domain.domain(mf).getImportPackage(); - importPackage.forEach((packageName, attrs) -> { - VersionRange versionRange = attrs.getVersion() != null - ? VersionRange.parseOSGiVersionRange(attrs.getVersion()) - : null; - consumer.accept(packageName, versionRange); - }); + protected final void forEachImportPackage(Manifest mf, Consumer<String> consumer) { + String importPackage = mf.getMainAttributes().getValue("Import-Package"); + ImportPackageInfo importPackages = new ImportPackageInfo(importPackage); + + for (String packageName : importPackages.packages()) { + consumer.accept(packageName); + } } protected final void log(DeployState state, Level level, String fmt, Object... args) { 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 c8a8df18f98..eed88a5fab0 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,7 +1,6 @@ // 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; @@ -19,7 +18,6 @@ import java.util.jar.JarFile; import java.util.jar.Manifest; import java.util.logging.Level; import java.util.regex.Pattern; -import java.util.stream.Collectors; /** * A validator for bundles. @@ -63,11 +61,10 @@ public class BundleValidator extends AbstractBundleValidator { private void validateImportedPackages(DeployState state, JarFile jar, Manifest manifest) { Map<DeprecatedProvidedBundle, List<String>> deprecatedPackagesInUse = new HashMap<>(); - forEachImportPackage(manifest, (packageName, versionRange) -> { + forEachImportPackage(manifest, (packageName) -> { for (DeprecatedProvidedBundle deprecatedBundle : DeprecatedProvidedBundle.values()) { for (Predicate<String> matcher : deprecatedBundle.javaPackageMatchers) { - if (matcher.test(packageName) - && (versionRange == null || deprecatedBundle.versionDiscriminator.test(versionRange))) { + if (matcher.test(packageName)) { deprecatedPackagesInUse.computeIfAbsent(deprecatedBundle, __ -> new ArrayList<>()) .add(packageName); } @@ -91,22 +88,15 @@ 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()) .toList(); - this.versionDiscriminator = versionDiscriminator; this.description = description; } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java index 2d4211c693b..5a0f0a589fd 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java @@ -112,6 +112,8 @@ public class BundleValidatorTest { "java.nio;version=\"[0.0.0,1)\",java.util.concurrent;version=\"[0.0.0,1)\",java.util;version=\"[0.0.0,1)\"").packages(), List.of("com.yahoo.config", "com.yahoo.filedistribution.fileacquirer", "com.yahoo.jdisc", "com.yahoo.jdisc.handler", "java.io", "java.lang", "java.nio", "java.util.concurrent", "java.util")); + assertEquals(new ImportPackageInfo("org.json;version=\"[0.0.0,1)\",org.eclipse.jetty.client.api;version=\"[9.4.46,10)").packages(), + List.of("org.json", "org.eclipse.jetty.client.api")); } @Test diff --git a/container-test/pom.xml b/container-test/pom.xml index d6c9ef666da..a0358e79a8f 100644 --- a/container-test/pom.xml +++ b/container-test/pom.xml @@ -23,10 +23,6 @@ <version>${project.version}</version> <exclusions> <exclusion> - <groupId>biz.aQute.bnd</groupId> - <artifactId>*</artifactId> - </exclusion> - <exclusion> <groupId>com.yahoo.vespa</groupId> <artifactId>vespajlib</artifactId> </exclusion> diff --git a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt index 05b39902d5b..f4db22eeeaa 100644 --- a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt +++ b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt @@ -6,8 +6,6 @@ ai.djl:api:0.20.0 ai.djl.huggingface:tokenizers:0.20.0 aopalliance:aopalliance:1.0 backport-util-concurrent:backport-util-concurrent:3.1 -biz.aQute.bnd:biz.aQute.bnd.util:6.1.0 -biz.aQute.bnd:biz.aQute.bndlib:6.1.0 ch.qos.logback:logback-classic:1.2.10 ch.qos.logback:logback-core:1.2.10 classworlds:classworlds:1.1-alpha-2 |