Summary: | [Import/Export] Importing projects in workspace, the default build order is alphabetical instead of by dependency | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Wayne Fuller <pacofuller> |
Component: | Core | Assignee: | Jerome Lanneluc <jerome_lanneluc> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | john.arthorne, pacofuller |
Version: | 3.2 | ||
Target Milestone: | 3.2 M6 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Wayne Fuller
2005-12-20 10:49:20 EST
This case doesn't work for me in 3.1, as well as 3.2. I think this is a JDT problem because ProjectDescription.setDynamicReferences() is not being called in this particular case. If you were to import the projects into a new workspace you will find that the build order is correct. We get similar behavior with 3.1.2. Our software is composed of about 15 projects. We recently removed all circular dependencies between the projects. When I got the latest changes in my stream (clearcase), I just refreshed all the projects in my workspace. The workspace's default build order was NOT reset to the most optimal compilation order. In fact, I'm pretty sure it didn't even change after the refresh. I then tried deleting all the projects and reimporting them in the workspace. This time, the default workspace build order changed, but to a strange order, not purely alphabetical, and still far from being optimal. I then manually reordered the projects and got a 2x speed increase for a full rebuild, which seemed to finally be done in one pass. I will try the suggested workaround of importing the projects in a brand new workspace. But I'd like to see this bug fixed, as it is very unintuitive behavior. The default build order should be recalculated automatically whenever the project dependencies change, whatever the means (through a project refresh, a project delete/import, or by changing project properties. Any others?). I have just tried importing the projects in a brand new workspace. The default build order is definitely better, but our manual build order is even more optimized. It took 2 minutes to do a full build of our projects when imported in a fresh workspace, and just 1 minute when using our manual build order! It seems the algorithm for computing the default build order needs work, even when importing in a new workspace. Changed DeltaProcessor#checkProjectsBeingAddedOrRemoved(...) to update the project references if a project is added/opened. Added regression test JavaProjectTests#testProjectImport Reopen to assign Still fixed. Verified for 3.2M6 using build I20060327-0010. |