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/06/24 15:36:40 UTC
[sling-org-apache-sling-feature-analyser] branch master updated:
SLING-10545 : Make manifest for content packages optional
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 8a9a8ca SLING-10545 : Make manifest for content packages optional
8a9a8ca is described below
commit 8a9a8ca65b024e2f3335fe027c584bff2952d4d7
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Jun 24 17:36:27 2021 +0200
SLING-10545 : Make manifest for content packages optional
---
.../feature/scanner/impl/ArtifactDescriptorImpl.java | 16 ++++++++++++++--
.../sling/feature/scanner/impl/BundleDescriptorImpl.java | 3 +++
.../feature/scanner/impl/ContentPackageDescriptor.java | 2 +-
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/scanner/impl/ArtifactDescriptorImpl.java b/src/main/java/org/apache/sling/feature/scanner/impl/ArtifactDescriptorImpl.java
index a711bc2..8010199 100644
--- a/src/main/java/org/apache/sling/feature/scanner/impl/ArtifactDescriptorImpl.java
+++ b/src/main/java/org/apache/sling/feature/scanner/impl/ArtifactDescriptorImpl.java
@@ -44,17 +44,29 @@ public class ArtifactDescriptorImpl
* @param artifact Optional artifact
* @param url Optional url
* @param hasManifest Whether that artifact must have a metafest
+ * @param isManifestOptional Whether the manifest is optional
* @throws IOException If processing fails
*/
public ArtifactDescriptorImpl(
final String name,
final Artifact artifact,
final URL url,
- final boolean hasManifest) throws IOException {
+ final boolean hasManifest,
+ final boolean isManifestOptional) throws IOException {
super(name != null ? name : artifact.getId().toMvnId());
this.artifact = artifact;
this.artifactFile = url;
- this.manifest = hasManifest ? new Manifest(BundleDescriptorImpl.getManifest(url)) : null;
+ Manifest mf = null;
+ if ( hasManifest ) {
+ try {
+ mf = new Manifest(BundleDescriptorImpl.getManifest(url));
+ } catch ( final IOException ioe) {
+ if ( !isManifestOptional ) {
+ throw ioe;
+ }
+ }
+ }
+ this.manifest = mf;
}
@Override
diff --git a/src/main/java/org/apache/sling/feature/scanner/impl/BundleDescriptorImpl.java b/src/main/java/org/apache/sling/feature/scanner/impl/BundleDescriptorImpl.java
index fec6d41..39479e4 100644
--- a/src/main/java/org/apache/sling/feature/scanner/impl/BundleDescriptorImpl.java
+++ b/src/main/java/org/apache/sling/feature/scanner/impl/BundleDescriptorImpl.java
@@ -91,6 +91,9 @@ public class BundleDescriptorImpl
} else {
try (JarFile jarFile = IOUtils.getJarFileFromURL(file, true, null)) {
manifest = jarFile.getManifest();
+ } catch ( final IOException ioe) {
+ // rethrow with more info
+ throw new IOException(file + " : " + ioe.getMessage(), ioe);
}
}
} catch (URISyntaxException e) {
diff --git a/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageDescriptor.java b/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageDescriptor.java
index 1136555..039689c 100644
--- a/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageDescriptor.java
+++ b/src/main/java/org/apache/sling/feature/scanner/impl/ContentPackageDescriptor.java
@@ -62,7 +62,7 @@ public class ContentPackageDescriptor extends ArtifactDescriptorImpl {
public ContentPackageDescriptor(final String name,
final Artifact artifact,
final URL url) throws IOException {
- super(name, artifact, url, true);
+ super(name, artifact, url, true, true);
}
/**