Nathan Beyer wrote:
> Was it just that the value of the Import-Package had a newline before the
> actual package names? I was just frustrated with myself that I couldn't
> figure it out.

Well originally I thought it was, but actually when I looked at the
manifest after Ant had put it into the JAR file, the new line after
Import had been removed (and all the crazy line wrapping conducted), so
that appears to be valid.

The real problem was that Swing was missing a required java.lang.ref as
an import, and AWT was not exporting it's org.apache.harmony.awt.*
packages that were being imported by Swing.  This mean that Swing and
AWT would not resolve.

Since our bundles have cyclical dependencies, and Swing and AWT would
not resolve, therefore Beans (which requires AWT APIs), and Archive
(which requires Beans APIs), and LUNI (which requires Archive APIs), and
the rest of the world (that requires LUNI APIs) would also not resolve.

The house of cards came tumbling down, and unfortunately figuring out
the root cause in such cases is non-trivial with today's tools (I keep
moaning to the Eclipse PDE guys about it, and things are gradually
improving).

To find this problem I (temporarily) added the full JRE library onto AWT
build path so that it did not suffer from upstream resolution failures,
then could fix AWT and Swing, and then it all worked again.

> I like how OSGi uses the manifest, but manifest file format is the most
> fragile thing I've ever dealt with; one wrong whitespace or extra character
> and BOOM.

Yup -- and I think the tools could help better.

Regards,
Tim

-- 

Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to