Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 330473 - A call to ManagedBuildManager.getConfigurationForDescription() causes recompilation of the project
Summary: A call to ManagedBuildManager.getConfigurationForDescription() causes recompi...
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build-managed (show other bugs)
Version: 8.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-17 11:40 EST by Alex Freidin CLA
Modified: 2020-09-04 15:19 EDT (History)
3 users (show)

See Also:


Attachments
Patch for the problem (1.41 KB, patch)
2010-11-17 11:47 EST, Alex Freidin CLA
no flags Details | Diff
patch (1.44 KB, patch)
2011-02-26 04:17 EST, Alex Freidin CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Freidin CLA 2010-11-17 11:40:24 EST
Build Identifier:  I20090611-1540

Calling to ManagedBuildManager.getConfigurationForDescription() makes the project configuration dirty and a full build is then launched. Specifically, the executable is first cleaned and then rebuilt.
Seems like this is not intentional and there are checks in the code to prevent it, except that some checks are missing.
This happens only if the tools plug-in is using AdditionalInput, e.g. a widget for user objects or libraries input widget in project properties.
When the above call is made, it calls to InputType(ITool parent, String Id, String name, InputType inputType) that creates a copy of a given InputType. This constructor checks "if(copyIds)" to keep the original "rebuild" and "dirty" state, but it is not propagated to InputOrder and AdditionalInput copies that it creates.



Reproducible: Always
Comment 1 Alex Freidin CLA 2010-11-17 11:47:04 EST
Created attachment 183316 [details]
Patch for the problem

My patch keeps the dirty/rebuild state of InputOrder and AdditionalInput object copies, created in this constructor.
Patch is based on CDT_6_0_0 tag version of the file, but the current version 1.31 seems similar.
Comment 2 Alex Freidin CLA 2011-02-26 04:17:28 EST
Created attachment 189879 [details]
patch

Patch for CDT 7.0.1 and HEAD.