Hi all,
With Galileo almost released, I'm once again looking at my 2.0 bugs.
My only critical bug is
https://bugs.eclipse.org/bugs/show_bug.cgi?id=265763, involving
switching to using bnd to generate all OSGi manifests automatically.
I checked in some proof-of-concept work in the JPA component
yesterday. Usually I'd wait, but I've been having some issues with
hardware and didn't want to lose it, also I wanted folks to be able
to take a look at it if they wanted to. To do so you'd need to
download a bnd jar, put it in your "buildsystem" dir, run an update,
run a full build (run "ant" from the root) followed by "ant bnd" from
org.eclipse.persistence.jpa.
I still need to fix-up the bundle bnd file to create a fully
comparable bundle, but the manifest generation is basically complete.
There are also several advantages to using the tool:
- In addition, to being usable by ant, bnd can be used as an eclipse
plugin, so we could move away from checking in any generated manifest.
- It looks fully capable of replacing the current jar and manifest
generation strategy, while generating very specific manifests.
- being automated, new dependencies are picked up without direct
developer intervention (except in the case of adding a new
third-party dependency)
However, to adopt this there are a few departures from our current
manifest "strategy":
- the manifests are less readable
- bnd generates full "uses" directive info. This makes the exports
very difficult to visually parse without formating the manifest.
- bnd reorders all the headers, in a non-intuitive order (at least
to me).
- Bnd reports a warning for any "Requires-bundles" header, saying it
may mask errors or generate false errors, it then also errors out
with unresolved dependencies unless allowed to resolve the imports
from the "required bundles".
- Basically, bnd would like us to remove all "Required Bundles"
and just generate a full "Import packages" directive instead.
I will attach reformatted manifests. One generated by bnd and the
other by the current ant scripts. Basically I think as a group
committers should weigh in on the issue of whether we want to move to
this methodology and how:
- readability may be something we really want to keep
- we may want to keep the "requires bundles" even if the imports are
fully qualified
- we may want to or need to continue "reexport"ing our bundles.
- we may want to go to "fully OSGi compliant" bundles, and if we do
there may be some development effort required
Let me know what you think.
-Eric
------------------------------------------------------------------------
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev