Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 354909

Summary: DefaultBundleReader incorrectly treats Manifest entry keys as case sensitive
Product: z_Archived Reporter: Marc Wirth <marc.wirth>
Component: TychoAssignee: Jan Sievers <jan.sievers>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P2 CC: jan.sievers
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
simple patch proposal, not tested, no automatic test. none

Description Marc Wirth CLA 2011-08-17 03:26:48 EDT
Build Identifier: Tycho 0.12.0

We ran across an build error (compiler could resolve classes) because one used bundle declared a "Bundle-Classpath" (lower-case p), but Tycho treats attribute names in a case-sensitive way while the spec says that attribute names are case insensitive.

The main culprit seems to be the class DefaultBundleReader which converts the main attributes to Properties before looking at the header.

Reproducible: Always

Steps to Reproduce:
1. Create a bundle with an additional Jar on its classpath
2. Use wrong upper/lower-case spelling
3. Try to compile against that bundle where a class of the additional Jar is involved.
Comment 1 Marc Wirth CLA 2011-08-17 03:27:29 EDT
Created attachment 201621 [details]
simple patch proposal, not tested, no automatic test.
Comment 2 Jan Sievers CLA 2011-10-05 09:16:29 EDT
fixed with commit 7f57426

we now consistently use class org.eclipse.osgi.framework.util.Headers for parsing MANIFESTs which provides case-insenstive getters for manifest headers.