You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2021/09/13 05:53:30 UTC
[sling-org-apache-sling-feature-analyser] branch master updated:
SLING-10803 : Improve content package scanning
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-analyser.git
The following commit(s) were added to refs/heads/master by this push:
new 304e77e SLING-10803 : Improve content package scanning
304e77e is described below
commit 304e77e43b71363302338fdc3837f82062b28b65
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Sep 13 07:53:01 2021 +0200
SLING-10803 : Improve content package scanning
---
.../scanner/impl/ContentPackageScanner.java | 26 ++++++++++++----------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageScanner.java b/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageScanner.java
index 14e1af4..4b6f0b3 100644
--- a/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageScanner.java
+++ b/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageScanner.java
@@ -129,10 +129,10 @@ public class ContentPackageScanner {
if (contentPath.endsWith(".jar")) {
fileType = FileType.BUNDLE;
-
+
} else if (contentPath.endsWith(".zip")) {
fileType = FileType.PACKAGE;
-
+
} else {
for(final String ext : CFG_EXTENSIONS) {
if ( contentPath.endsWith(ext) ) {
@@ -140,7 +140,7 @@ public class ContentPackageScanner {
break;
}
}
- }
+ }
}
} else if ( contentPath.startsWith("/etc/packages/") && contentPath.endsWith(".zip")) {
// embedded content package
@@ -180,7 +180,7 @@ public class ContentPackageScanner {
if ( entryName.endsWith("/") ) {
continue;
}
-
+
logger.debug("Content package entry {}", entryName);
if ( entryName.startsWith("jcr_root/") ) {
@@ -192,7 +192,7 @@ public class ContentPackageScanner {
logger.debug("- extracting : {}", contentPath);
final File newFile = new File(toDir, entryName.replace('/', File.separatorChar));
newFile.getParentFile().mkdirs();
-
+
try (
final FileOutputStream fos = new FileOutputStream(newFile);
final InputStream zis = zipFile.getInputStream(entry);
@@ -202,7 +202,7 @@ public class ContentPackageScanner {
fos.write(buffer, 0, len);
}
}
-
+
if (fileType == FileType.BUNDLE) {
int startLevel = 20;
final int lastSlash = contentPath.lastIndexOf('/');
@@ -213,7 +213,7 @@ public class ContentPackageScanner {
} catch (final NumberFormatException ignore) {
// ignore
}
-
+
final Artifact bundle = new Artifact(extractArtifactId(tempDir, newFile));
bundle.setStartOrder(startLevel);
final BundleDescriptor info = new BundleDescriptorImpl(bundle, newFile.toURI().toURL(),
@@ -221,23 +221,25 @@ public class ContentPackageScanner {
bundle.getMetadata().put(ContentPackageDescriptorImpl.METADATA_PACKAGE,
packageArtifact.getId().toMvnId());
bundle.getMetadata().put(ContentPackageDescriptorImpl.METADATA_PATH, contentPath);
-
+
bundles.add(info);
-
+
} else if (fileType == FileType.CONFIG) {
-
+
final Configuration configEntry = this.processConfiguration(newFile, packageArtifact.getId(), contentPath);
if (configEntry != null) {
configs.add(configEntry);
}
-
+
} else if (fileType == FileType.PACKAGE) {
toProcess.add(newFile);
- }
+ }
}
} else if ( FILE_MANIFEST.equals(entry.getName()) ) {
try ( final InputStream zis = zipFile.getInputStream(entry)) {
manifest = new Manifest(zis);
+ } catch ( final IOException ignore ) {
+ logger.warn("Failure reading manifest from {} : {}", packageArtifact.getId(), ignore.getMessage());
}
} else if ( FILE_PACKAGE_PROPS.equals(entry.getName()) ) {
try ( final InputStream zis = zipFile.getInputStream(entry)) {