Q: How do I determine that a project succeeded but did not built (no changes)?
I am aware that with a Visual Studio Package that I can tap into build events.
_dte.Events.BuildEvents.OnBuild* += **;
* is the rest of the event handler name and ** is the name of the event handler.
There are two types of success codes, when building a project:
========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
and
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
The first built successfully, but no changes were necessary, while the latter had changes and built successfully.
The DTE build Success argument indicates that the build succeeded, as opposed to failed. If no errors are present, the result is always true regardless of changes or not.
Sadly, there are no arguments that indicate success but not built or success and built. There is just success?
Existing questions here on SO, such as 2801985 and 3629125 do not go down to this granularity / distinction.
How can I programmatically determine that a project succeeded in the build request but did not build (is up to date)?