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

Bug 277658

Summary: ICU imports are broken for older ICU versions
Product: [RT] RAP Reporter: Benjamin Muskalla <b.muskalla>
Component: WorkbenchAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P1    
Version: 1.2   
Target Milestone: 1.2 RC3   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
patch none

Description Benjamin Muskalla CLA 2009-05-25 05:55:09 EDT
Current situation:

We include ICU 4 with our bundles, all our Import-Package headers do not specifiy a specific version for the ICU package.
This works without any problem with the ICU4 base bundle. If you now mix up a target runtime which contains ICU3 the RAP bundle manifests are resolved but have compile errors. Even worse if you don't have the RAP bundles in the workspace you don't see the problem and you get an ClassDefNotFoundError during runtime.

I'm not yet sure why this does not work as we don't specify any concrete version in the Import Package.
The issue can be solved by specifying a version range for the imports.

Why? There are many plugins out there which still have a hard requirement on the old ICU version (eg. BIRT). That's why it should be possible to use an older version of the ICU bundle.
Comment 1 Benjamin Muskalla CLA 2009-05-26 16:47:04 EDT
Created attachment 137225 [details]
patch

Added version ranges to all the imports.

Still not sure why it cannot resolve the classes.
Comment 2 RĂ¼diger Herrmann CLA 2009-05-27 04:01:57 EDT
+1
the patch is ok for commit
Comment 3 Benjamin Muskalla CLA 2009-05-27 04:36:23 EDT
Committed patch in #1 to CVS HEAD.