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 [email protected] or file a JIRA ticket
with INFRA.
---