Community
Participate
Working Groups
Build Identifier: 3.6.0 [I20100608-0911] The managedbuild model and the core build model get out of sync for one build cycle when build-variables are changed on the workspace level. So, in effect, the core build model ends up "caching" a stale build-variable value for one build cycle. Reproducible: Always Steps to Reproduce: 1. Create a simple Cygwin C project and add any simple C file to it. 2. Define a new workspace-level build-variable, named "TEST_VAR", through the Preferences > C/C++ > Build > Build Variables page. Assign a string value "value1" to it. 3. Modify the project's Compiler > Symbols > Defined Symbols build-option to reference the build-variable "TEST_VAR". 4. Build the project. -> The project is correctly built with the "-Dvalue1" flag passed to the compiler. 5. Go back to Preferences, and change the value of "TEST_VAR" to "value2". 6. Clean the project, and build it. -> The project is now incorrectly built, still passing "-Dvalue1" to the compiler. 7. Clean the project and build it again. -> Now the project is built correctly with "-Dvalue2". The stale build-variable value is observed every time, and only for one build-cycle - the ScannerConfigBuilder seems to be causing the models to sync-up after the first build-cycle. We're currently working around this bug by explicitly invoking "ManagedBuildManager.updateCoreSettings(project, null, true);" on the PRE_BUILD event to cause the models to synchronize before the build.