Bug 150752 - Eclipse 3.2 fails build due to indirect class references that 3.1 was able to build
Summary: Eclipse 3.2 fails build due to indirect class references that 3.1 was able to...
Status: VERIFIED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.5 M2   Edit
Assignee: Maxime Daniel CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2006-07-16 10:42 EDT by Tad Woods CLA
Modified: 2008-09-15 06:26 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tad Woods CLA 2006-07-16 10:42:57 EDT
I was using Eclipse 3.1 for BlackBerry development. After upgrading from Eclipse 3.1 to Eclipse 3.2, I now get the error "The project was not built since its build path is incomplete. Cannot find the class file for net.rim.tid.awt.Event. The type net.rim.tid.awt.Event is indirectly referenced from required .class files." 

The net_rim_api.jar does not include this class presumably because it's a proprietary class that RIM does not expose. The error occurs when referencing the class net.rim.device.api.ui.Field, which is exposed in the API. Eclipse 3.1 compiled this without error. My compiler compliance level is set to 5.0.
Comment 1 Tad Woods CLA 2006-07-16 11:06:01 EDT
As a work-around I created the following skeleton classes in a source folder (that I exclude from the RAPC compiler which runs from an ANT task when compiling the code for BlackBerry testing or deployment). I implemented these work-around skeleton classes to extend Object and do nothing more; I have no way to know what their actual interfaces look like. Of course the actual classes exist on the BlackBerry device and simulator, but this seemed enough to get Eclipse to move beyond the error. The specific classes that you might need could depend on what downstream classes any given BlackBerry project is using.

net.rim.device.api.ui.DrawTextParam
net.rim.device.api.ui.TextMetrics
net.rim.device.internal.ui.Border
net.rim.tid.awt.Event
net.rim.tid.awt.event.InputMethodEvent
net.rim.tid.awt.im.InputContext
Comment 2 Olivier Thomann CLA 2006-08-13 19:59:56 EDT
Would it be possible to get a test case that compiled with Eclipse 3.1 and that doesn't compile anymore with 3.2?
Thanks.
Comment 3 Tad Woods CLA 2006-08-15 15:29:59 EDT
I created a test case here:
http://www.tandtsoftware.com/main/downloads/test_case.jar

This is a self contained project. With the workaround director excluded from the build path, the project will not build: "Cannot find the class file for
net.rim.tid.awt.Event". Eclipse 3.1 would build it with compiler compliance at 5.0. If you set compliance level to 1.4 this particulr project will build, but that is misleading because in larger projects the same error will just shift to another class.
Comment 4 Kent Johnson CLA 2007-03-28 14:26:06 EDT
Please try your case again with a 3.2.2 build or 3.3M6.

Support for missing .class files was changed since 3.2


BTW The testcase doesn't include any actual source - just stubs for the classes mentioned in comment #1.
Comment 5 Maxime Daniel CLA 2007-03-29 08:04:17 EDT
A few tries with 3.2.1 and 3.2.2 could not reveal the problem (wrote a simplistic class that referenced net.rim.device.api.ui.Field and net.rim.device.api.ui.component.BitmapField; played a bit with adding and removing workaround from the build path).

Could you please share more information with us?
Comment 6 Maxime Daniel CLA 2007-04-17 04:34:41 EDT
Adding needinfo keyword. Please consider providing us with more information and removing the keyword.
Comment 7 Philipe Mulet CLA 2008-01-30 04:30:56 EST
Suggest we close this bug, since no info got provided in a long time. I assume this is not a problem any longer ?
Comment 8 Jerome Lanneluc CLA 2008-08-26 07:34:04 EDT
All attempts at reproducing the problem failed. Closing as WORKFORME
Comment 9 David Audel CLA 2008-09-15 06:26:12 EDT
Verified for 3.5M2.