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

Bug 340000

Summary: Adapt RAP to current icu.base version
Product: [RT] RAP Reporter: Ralf Sternberg <rsternberg>
Component: RelengAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: holger.staudacher, pwebster, remy.suen
Version: 1.4   
Target Milestone: 1.5 M1   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 340310    
Bug Blocks:    

Description Ralf Sternberg CLA 2011-03-15 07:20:40 EDT
The following bundles import packages from icu.base < 4.3.0. Since M6, icu.base has been upgraded from 4.2.1 to 4.4.2.

* org.eclipse.rap.jface.databinding: com.ibm.icu.text;version="[3.4.0,4.3.0)" 
* org.eclipse.rap.ui.cheatsheets: com.ibm.icu.text;version="[3.4.0,4.3.0)"
* org.eclipse.rap.ui.forms: com.ibm.icu.text;version="[3.4.0,4.3.0)"
* org.eclipse.rap.ui.workbench: com.ibm.icu.text;version="[3.4.0,4.3.0)", com.ibm.icu.util;version="[3.4.0,4.3.0)"
Comment 1 Ralf Sternberg CLA 2011-03-15 10:27:35 EDT
Built M6 with icu.base 4.2.1 again as this version is known to work, we should upgrade for M7.
Comment 2 Holger Staudacher CLA 2011-04-26 06:02:36 EDT
I checked the original eclipse.ui bundles and these bundle don't have a version constraint in their mainfests for icu.base. So, I removed the contraint from our manifests and committed the changes to CVS HEAD.

Sadly our tests are failing when we use the new icu.base version. Here is the stack trace. For now I will not update the icu.base version on our build server until we can figure out why this error happens.

Error Message

com/ibm/icu/text/BreakIterator (Unsupported major.minor version 49.0)
Stacktrace

java.lang.UnsupportedClassVersionError: com/ibm/icu/text/BreakIterator (Unsupported major.minor version 49.0)
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
	at org.eclipse.ui.internal.forms.widgets.TextSegment.computeTextFragments(TextSegment.java:746)
	at org.eclipse.ui.internal.forms.widgets.TextSegment.advanceLocator(TextSegment.java:279)
	at org.eclipse.ui.internal.forms.widgets.Paragraph.computeRowHeights(Paragraph.java:138)
	at org.eclipse.ui.internal.forms.widgets.Paragraph.layout(Paragraph.java:157)
	at org.eclipse.ui.forms.widgets.FormText$FormTextLayout.layout(FormText.java:359)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:511)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:330)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:289)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:252)
	at org.eclipse.ui.forms.widgets.FormText.setText(FormText.java:732)
	at org.eclipse.ui.forms.widgets.FormText_Test.testComputeSize(FormText_Test.java:57)
Comment 3 Ivan Furnadjiev CLA 2011-04-26 06:16:10 EDT
In version 4.4.2 they changed the execution environment to 1.5 - see com.ibm.icu_4.4.2.v20110208.jar manifest.mf. It was 1.3 in com.ibm.icu_4.2.1.v20100412.
Comment 4 Ralf Sternberg CLA 2011-05-04 06:25:53 EDT
Since icu has been upgraded to Java 1.5, we have to keep the old icu.base in our target platform for the 1.4 release.
We removed the version ranges from our bundle manifests, as the platform bundles do so as well.
Starting with RAP 1.5, we'd like to move to Java 1.5 too (bug 344334), so we can fix this issue in the next release.
Comment 5 Ralf Sternberg CLA 2012-01-31 04:54:01 EST
* All Up to the last RAP 1.4 service release, icu.base version 4.2.1 is used.
* In RAP 1.5, we upgraded to J2SE-1.5 and use the current icu.base version from the platform again (4.4.2).
* Since the package imports are unversioned in the original bundles, I'll leave them unversioned in the RAP bundles as well.