summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model-fat/pom.xml2
-rw-r--r--config-model/pom.xml16
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/AbstractBundleValidator.java21
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/BundleValidator.java14
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java2
-rw-r--r--container-test/pom.xml4
-rw-r--r--vespa-dependencies-enforcer/allowed-maven-dependencies.txt2
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