Bug 18633 - Build failed: Can not find the class file for org.eclipse.jdt.core.jdom.IDOMInitializer.
Summary: Build failed: Can not find the class file for org.eclipse.jdt.core.jdom.IDOM...
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 2.0 F3   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-06-01 16:37 EDT by Jerome Lanneluc CLA
Modified: 2002-06-05 13:58 EDT (History)
0 users

See Also:


Attachments
Builder trace (346.63 KB, text/plain)
2002-06-01 16:38 EDT, Jerome Lanneluc CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jerome Lanneluc CLA 2002-06-01 16:37:32 EDT
Build 20020601

Building my self-hosting workspace failed with the following maker on 
org.eclipse.jdt.core.tests:
The project was not built since its classpath is incomplete. Can not find the 
class file for org.eclipse.jdt.core.jdom.IDOMInitializer. Fix the classpath 
then try rebuilding this project
Comment 1 Jerome Lanneluc CLA 2002-06-01 16:38:48 EDT
Created attachment 1165 [details]
Builder trace
Comment 2 Jerome Lanneluc CLA 2002-06-01 16:39:54 EDT
Rebuilding all fixed the problem.
Comment 3 Philipe Mulet CLA 2002-06-01 18:08:10 EDT
Major incremental recompilation mode (PDE import all but jdtcore and tests), 
and hit BUILD instead of full build...

I am questioning why we even try an incremental recompile where prerequisites 
have done full builds... everything is claimed to have structurally changed 
upstream.
Comment 4 Kent Johnson CLA 2002-06-03 16:05:08 EDT
Just because one or more prereq projects did full builds does not mean that all 
source files in a project need to be rebuilt... full builds also eliminate 
the .class file comparison so every .class file appears changed.

If you do a full-build of a project A, all of its dependent projects will see 
all of its .class files as changed but should not produce any new files for 
their dependents.
Comment 5 Kent Johnson CLA 2002-06-03 16:06:42 EDT
As far as the actual PR, I have not been able to reproduce...
Comment 6 Kent Johnson CLA 2002-06-04 16:05:55 EDT
Jerome: How did you build your workspace? Did you add the binary projects 
first? When did you invoke a build (Crtl-B)?

From the trace it looks like jdt.core & jdt.core.tests knew build states... 
that's why they tried incremental builds first BUT there is no way they would 
have built successfully without all the binary projects in the workspace.

I've tried different orders... and done builds at different times... but have 
yet to see any error.
Comment 7 Kent Johnson CLA 2002-06-04 16:33:41 EDT
Ok, I can reproduce the trace by 'upgrading' the binary projects in an existing 
workspace, but it still does not reproduce the error... it works fine.

If we think incremental builds are failing because of 'changed' jar files, we 
could avoid looking into each delta until we know that there are no changed jar 
files or added/removed binary folders, but I'm not convinced it takes that long 
to examine a delta... the log is just long.
Comment 8 Jerome Lanneluc CLA 2002-06-04 17:50:11 EDT
From what I recall, I had a 20020531 self-hosting workspace that was built. I 
upgraded this workspace by importing all binary projects over the existing 
ones. I then exited the workspace, restarted it and pressed build.
Comment 9 Kent Johnson CLA 2002-06-05 13:58:26 EDT
This really makes no sense... both jdt.core & jdt.core.tests aborted their 
incremental builds and did full builds. It was a full build which failed to 
find the .class file... but Jerome said a subsequent full build found it.

The log for the full build for jdt.core includes writing the .class file for 
IDOMInitializer. The log for the incremental build of jdt.core.tests (which is 
aborted soon after for a full build) lists that dependents of 
IDOMInitializer.class are to be rebuilt.

Closing for now since its not reproduceable...