Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-dev] Bug 265763... discussion needed.

Hi Eric,

  I added your email text to the bug and followed up with comments.

       Shaun

Eric Gwin wrote:
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

--
Oracle
Shaun Smith | Principal Product Manager
Phone: +19055023094
Oracle Server Technologies, Oracle TopLink
ORACLE Canada | 110 Matheson Boulevard West, Suite 100, Mississauga, Ontario | L5R 3P4

Green Oracle Oracle is committed to developing practices and products that help protect the environment

Back to the top