[java-sig-commits] [javapackages/0.2.x] Fix OSGi provides and requires generators to not fail(i.e. not run) when a jar file is missing a man

Alexander Kurtakov akurtakov at fedoraproject.org
Tue Sep 13 17:54:13 UTC 2011


commit 8150fb0157fa0bedce2f0f191d55cecec3708626
Author: Alexander Kurtakov <akurtako at redhat.com>
Date:   Tue Sep 13 20:49:14 2011 +0300

    Fix OSGi provides and requires generators to not fail(i.e. not run) when
    a jar file is missing a manifest file.

 depgenerators/osgi.prov |    5 +++--
 depgenerators/osgi.req  |   11 ++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/depgenerators/osgi.prov b/depgenerators/osgi.prov
index 2548adf..49b3ace 100755
--- a/depgenerators/osgi.prov
+++ b/depgenerators/osgi.prov
@@ -77,8 +77,9 @@ class TagBuilder:
                 self.handle_manifest(manifest)
             if zipfile.is_zipfile(path):
                 jarfile = ZipFile(path)
-                manifest = jarfile.open("META-INF/MANIFEST.MF")
-                self.handle_manifest(manifest)
+                if "META-INF/MANIFEST.MF" in jarfile.namelist():
+                    manifest = jarfile.open("META-INF/MANIFEST.MF")
+                    self.handle_manifest(manifest)
                     
 
 if __name__ == "__main__":
diff --git a/depgenerators/osgi.req b/depgenerators/osgi.req
index 0ad2a75..901d64e 100755
--- a/depgenerators/osgi.req
+++ b/depgenerators/osgi.req
@@ -78,11 +78,12 @@ class TagBuilder:
         if not os.path.islink(path):
             if zipfile.is_zipfile(path):
                 jarfile = ZipFile(path)
-                manifest = jarfile.open("META-INF/MANIFEST.MF")
-                headers = self.parse_manifest(manifest)
-                if headers.get("Require-Bundle"):
-                    for bundle in self.split_bundle_name(headers.get("Require-Bundle")):
-                        print "osgi(%s)" %(bundle) 
+                if "META-INF/MANIFEST.MF" in jarfile.namelist():
+                    manifest = jarfile.open("META-INF/MANIFEST.MF")
+                    headers = self.parse_manifest(manifest)
+                    if headers.get("Require-Bundle"):
+                        for bundle in self.split_bundle_name(headers.get("Require-Bundle")):
+                            print "osgi(%s)" %(bundle) 
 
 if __name__ == "__main__":
     builder = TagBuilder ()


More information about the java-sig-commits mailing list