This is an automated email from the ASF dual-hosted git repository. pauls pushed a commit to branch issues/SLING-10209 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-extension-content.git
commit 819823953ac0b22f51fa7704ef4cb4e3e48fe35f Author: Karl Pauls <[email protected]> AuthorDate: Thu Mar 11 17:57:32 2021 +0100 SLING-10209: don't reinstall packages already present in the registry. --- .../sling/feature/extension/content/ContentHandler.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java index 5bfe091..3ed80d9 100644 --- a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java +++ b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java @@ -30,6 +30,7 @@ import java.util.Set; import java.util.TreeMap; import org.apache.jackrabbit.vault.packaging.PackageId; +import org.apache.jackrabbit.vault.packaging.PackageExistsException; import org.apache.jackrabbit.vault.packaging.SubPackageHandling; import org.apache.jackrabbit.vault.packaging.registry.ExecutionPlanBuilder; import org.apache.jackrabbit.vault.packaging.registry.PackageTask.Type; @@ -74,11 +75,14 @@ public class ContentHandler implements ExtensionHandler { builder.with(satisfiedPackages); for (File pkgFile : packageReferences) { + try { + PackageId pid = registry.registerExternal(pkgFile, false); + extractSubPackages(registry, builder, pid); - PackageId pid = registry.registerExternal(pkgFile, true); - extractSubPackages(registry, builder, pid); - - builder.addTask().with(pid).with(Type.EXTRACT); + builder.addTask().with(pid).with(Type.EXTRACT); + } catch (PackageExistsException ex) { + // Expected - the package is already present + } } builder.validate(); satisfiedPackages.addAll(builder.preview());
