You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gg...@apache.org on 2019/01/27 20:29:56 UTC

[karaf] branch master updated: KARAF-6109: Add missing filter for blacklisted bundles

This is an automated email from the ASF dual-hosted git repository.

ggrzybek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new efd3e8b  KARAF-6109: Add missing filter for blacklisted bundles
     new 0c977d1  Merge pull request #741 from graben/KARAF-6109
efd3e8b is described below

commit efd3e8b0b312f43e171f7876f10ad15ae1f9e8c5
Author: Benjamin Graf <be...@gmx.net>
AuthorDate: Sun Jan 27 19:18:21 2019 +0100

    KARAF-6109: Add missing filter for blacklisted bundles
---
 .../org/apache/karaf/profile/assembly/Builder.java | 24 ++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java
index b802c53..00bbc0a 100644
--- a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java
+++ b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java
@@ -1189,6 +1189,11 @@ public class Builder {
                             return !feature.isBlacklisted()
                                     && effectiveInstalledFeatures.contains(feature);
                         }
+
+                        @Override
+                        public boolean include(BundleInfo bundle) {
+                            return !bundle.isBlacklisted();
+                        }
                     }
             };
 
@@ -1210,12 +1215,16 @@ public class Builder {
                                 featureId2repository.put(feature.getId(), name);
                                 feature.getBundle().forEach(bundle -> {
                                     // normal bundles of feature
-                                    bundle2featureId.computeIfAbsent(bundle.getLocation().trim(), k -> new TreeSet<>()).add(feature.getId());
+                                    if (flavor.include(bundle)) {
+                                        bundle2featureId.computeIfAbsent(bundle.getLocation().trim(), k -> new TreeSet<>()).add(feature.getId());
+                                    }
                                 });
                                 feature.getConditional().forEach(cond -> {
                                     cond.asFeature().getBundles().forEach(bundle -> {
                                         // conditional bundles of feature
-                                        bundle2featureId.computeIfAbsent(bundle.getLocation().trim(), k -> new TreeSet<>()).add(feature.getId());
+                                        if (flavor.include(bundle)) {
+                                            bundle2featureId.computeIfAbsent(bundle.getLocation().trim(), k -> new TreeSet<>()).add(feature.getId());
+                                        }
                                     });
                                 });
                             }
@@ -1294,6 +1303,7 @@ public class Builder {
         String name();
         boolean include(Features repository);
         boolean include(Feature feature);
+        boolean include(BundleInfo bundle);
     }
 
     private ReportFlavor all = new ReportFlavor() {
@@ -1311,6 +1321,11 @@ public class Builder {
         public boolean include(Feature feature) {
             return true;
         }
+
+        @Override
+        public boolean include(BundleInfo bundle) {
+            return true;
+        }
     };
 
     private ReportFlavor notBlacklisted = new ReportFlavor() {
@@ -1328,6 +1343,11 @@ public class Builder {
         public boolean include(Feature feature) {
             return !feature.isBlacklisted();
         }
+
+        @Override
+        public boolean include(BundleInfo bundle) {
+            return !bundle.isBlacklisted();
+        }
     };
 
     /**