Github user ajs6f commented on the pull request:

    https://github.com/apache/jena/pull/134#issuecomment-206433254
  
    No, it's not the _presence_ of MAINFEST.MF (which I think tends to appear 
in pretty much any JAR or WAR). It's what's in it. There are specific headers 
in an OSGi version of MANIFEST.MF that support the sophisticated 
module-dependency management that OSGi does. For example, there are headers 
that explain what packages are exported from the module in question, and which 
are imported. If you don't need them (because you aren't using OSGi), no 
problem. You just ignore them, and most of us do, most of the time. But OSGi 
needs those headers to use the JAR as a module. As to whether all of our 
dependencies have it, I don't know, but it honestly wouldn't surprise me. It's 
so easy to include these days (autogenerated) that many, many projects do it by 
default. On the other hand, since `jena-osgi` is packaging up some dependencies 
internally, than it doesn't matter whether those guys do, because OSGi is not 
managing those guys. And those dependencies that `jena-osgi` is not packaging 
up i
 nternally certainly _do_ have the metadata (e.g. `httpcore-osgi`).
    So one thing we could do here would be to have `jena-osgi` shade in the 
Dexx library the way it currently shades in, e.g. `xercesImpl`. But that's kind 
of hacky. I think the right thing to do here is work upstream and help Dexx get 
that little bit of metadata packed in, and then the job is done cleanly and 
forever.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to