diff options
author | gjoranv <gv@yahooinc.com> | 2023-05-31 09:41:23 +0200 |
---|---|---|
committer | gjoranv <gv@yahooinc.com> | 2023-05-31 09:41:23 +0200 |
commit | a84e782c247478572752896cc5488575bda326d8 (patch) | |
tree | a5fa61089e23d7bf6cbda6328cf92a947019075e /bundle-plugin | |
parent | 7a8b58008ea277d050f6f42e080ee309e6a9982d (diff) |
Non-functional: Extract function getOsgiManifest
Diffstat (limited to 'bundle-plugin')
-rw-r--r-- | bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java index 2b5941cc5aa..fe3d149a308 100644 --- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java +++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/bundle/AnalyzeBundle.java @@ -34,20 +34,26 @@ public class AnalyzeBundle { } static List<Export> exportedPackages(File jarFile) { + var manifest = getOsgiManifest(jarFile); + if (manifest == null) return Collections.emptyList(); try { - Optional<Manifest> jarManifest = JarFiles.getManifest(jarFile); - if (jarManifest.isPresent()) { - Manifest manifest = jarManifest.get(); - if (isOsgiManifest(manifest)) { - return parseExports(manifest); - } - } - return Collections.emptyList(); + return parseExports(manifest); } catch (Exception e) { throw new RuntimeException(String.format("Invalid manifest in bundle '%s'", jarFile.getPath()), e); } } + private static Manifest getOsgiManifest(File jarFile) { + Optional<Manifest> jarManifest = JarFiles.getManifest(jarFile); + if (jarManifest.isPresent()) { + Manifest manifest = jarManifest.get(); + if (isOsgiManifest(manifest)) { + return manifest; + } + } + return null; + } + public static Optional<String> bundleSymbolicName(File jarFile) { return JarFiles.getManifest(jarFile).flatMap(AnalyzeBundle::getBundleSymbolicName); } |