Recently Kirill pointed me to the Swabra plugin as a way to ensure my checkout directories are cleared of .obj files and other remnants from the previous build. I've enabled it for all my build configurations, but it's not behaving as I expected it to. I can't tell if this is because I don't understand what it's meant to do, or if there's a bug.
I have TC 4.5.5. There are 5 build configs for my project, and they all share the same checkout directory. I use snapshot dependencies to force them all to build from the same codebase. I've configured Swabra to clean before each build, for each build configuration.
In the first configuration to build, 'common', I see this in the log:
[11:29:04]: Swabra: Scanning checkout directory D:\teamcitytest\trunk\incremental\working for newly created and modified files...
[11:29:04]: Swabra: Finished scanning checkout directory D:\teamcitytest\trunk\incremental\working for newly created and modified files: 0 object(s) deleted, 0 object(s) detected modified
But this isn't right; there are lots of leftover intermediate files from the previous build attempt, including the vc90.pch precompiled header file. This creates a problem later:
[11:29:28]: [exec] 2>SehHandler.cpp
[11:29:28]: [exec] 2>.\SehHandler.cpp(1) : error C2859: d:\teamcitytest\trunk\incremental\working\l1\aadiag\managedaadiag.wrapper\x64\release\vc90.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.
I also tried solving this problem by doing a clean as part of my build, but that doesn't work either because the clean also cleans out the artifacts copied in by TeamCity to satisfy the artifact dependencies between my build configurations.
I'd appreciate any guidance