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

pauls pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature.git


The following commit(s) were added to refs/heads/master by this push:
     new b3ca1e2  SLING-8373: merge the ASSEMBLED_FEATURES extension correctly 
on assemble.
b3ca1e2 is described below

commit b3ca1e2ffd1c73be1a6d325106b62349d23bb27f
Author: Karl Pauls <[email protected]>
AuthorDate: Thu Apr 25 11:54:48 2019 +0200

    SLING-8373: merge the ASSEMBLED_FEATURES extension correctly on assemble.
---
 .../apache/sling/feature/builder/FeatureBuilder.java    | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/builder/FeatureBuilder.java 
b/src/main/java/org/apache/sling/feature/builder/FeatureBuilder.java
index 85ede31..2cbf959 100644
--- a/src/main/java/org/apache/sling/feature/builder/FeatureBuilder.java
+++ b/src/main/java/org/apache/sling/feature/builder/FeatureBuilder.java
@@ -186,7 +186,13 @@ public abstract class FeatureBuilder {
 
         final Feature[] assembledFeatures = 
FeatureBuilder.deduplicate(context, features);
 
-        final Set<ArtifactId> usedFeatures = new HashSet<>();
+        // append feature list in extension
+        final Extension list = new Extension(ExtensionType.ARTIFACTS, 
Extension.EXTENSION_NAME_ASSEMBLED_FEATURES,
+            false);
+        for(final Feature feature : assembledFeatures) {
+            list.getArtifacts().add(new Artifact(feature.getId()));
+        }
+        target.getExtensions().add(list);
 
         // assemble feature
         boolean targetIsComplete = true;
@@ -194,19 +200,10 @@ public abstract class FeatureBuilder {
             if (!assembled.isComplete()) {
                 targetIsComplete = false;
             }
-            usedFeatures.add(assembled.getId());
 
             merge(target, assembled, context, context.getArtifactOverrides(), 
null);
         }
 
-        // append feature list in extension
-        final Extension list = new Extension(ExtensionType.ARTIFACTS, 
Extension.EXTENSION_NAME_ASSEMBLED_FEATURES,
-                false);
-        for(final ArtifactId id : usedFeatures) {
-            list.getArtifacts().add(new Artifact(id));
-        }
-        target.getExtensions().add(list);
-
         // check complete flag
         if (targetIsComplete) {
             target.setComplete(true);

Reply via email to