Bug 10264 - BuildAll with curcular dependencies fails but builds with JAVAC
Summary: BuildAll with curcular dependencies fails but builds with JAVAC
Status: RESOLVED DUPLICATE of bug 10262
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows 2000
: P1 critical (vote)
Target Milestone: ---   Edit
Assignee: DJ Houghton CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-02-26 11:23 EST by Larry Keeling CLA
Modified: 2002-02-26 12:52 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Larry Keeling CLA 2002-02-26 11:23:21 EST
Customers have been reporting problems trying to build large applications 
(i.e.  more than 35 projects).
Although there are several scenarios that this problems occurs, the simpliest 
way to think of this is 
then a customer starts with a new workspace, loads the source of the large 
application and selects Rebuild All.
The result is a few thousand errors in the task list.  The same source can be 
built using JAVAC (i.e builds
with out any errors).

The difference in the build results between using JAVAC and Eclipse appears to 
related to circular dependencies.
The reasons for having circular dependencies in these large applications varies 
with each customer.  From the
customer's point of view they have many developers using this structure and 
their nightly builds (using JAVAC)
build without any errors.  Thus they expect the IDE to be able to build the 
same code without errors.  In addition
waiting for V2 of Eclipse is not a alternative for these customers.  Also 
building individual projects is also not
alternaitve since it can take a long, long time to get all the parts build 
without errors using elipse.

To demonstrate the problem I have created a testcase using 6 projects.  

Here are the steps using Eclipse:

0)  Turn off Automatic build on Windows->Perferences

1)  Create the projects:
	CycleDB
	CycleMain
	CyclePeople
	CyclePolicy
	CycleServer
	CycleUtil

2)  Import from the file system into CycleDB the following:
	ivjdab.jar
	vajAS400ET.jar
	vajrmi.jar
	dax.jar
    Import from the file system into CycleServer the following:
	VAJSQLJ.jar

    The jars files are in RTJars.zip	
 
3)  Import the java source into each project from the corresponding jars files 
(which are in Cycle.zip).
    Ensure that the .classpath file is replaced during the import. 

4)  Select Project->Rebuild All

The result will be a few hundred build errors.

Here are the steps using JAVAC:

1) Ensure you have a 1.3 JDK installed

2) Place the bld.cmd (which is in Cycle.zip) in the Eclpise workspace directory

3) From the command line remove all the class files in the workspace directory 
tree
   (for example issue del *.class /s from the workspace directory)

4) Ensure JAVAC is on your path

5) Run bld.cmd
 
The result is a successful build with no errors.

The zip files Cycle and RTJars are available on request.
Comment 1 Larry Keeling CLA 2002-02-26 12:52:31 EST

*** This bug has been marked as a duplicate of 10262 ***