buildbot/buildbot — pull request #670 by jaredgrubb (2013-03-18 23:00:54+00:00)
Title: Xcodebuild: A step and log summarizer for xcodebuild/clang

This is still a bit of work in progress, but I would like to get some input to make sure that this will be an appropriate addition to Buildbot.

This is:
* an Xcodebuild build step
* a "log summarizer" that creates a summary log from the stdio:
* xcodebuild invokes clang and ld
* attempt to cull out:
* interesting progress lines (eg, as xcodebuild changes the target it's building)
* clang errors/warnings
* ld errors/warnings

Stdio -> log observer -> log summarizer -> summary log file

To accomplish all this, I use generators to act as simple state machines. This is because we get log lines one at a time, but clang error/warning lines span multiple lines. Also, if an error is detected for a compile step, it would be good to grab the full command invocation -- but ignore the command invocations for files that compile cleanly.

So, xcodebuild is an "outer" generator that delegates to a "inner" generator for clang and ld (and perhaps others, as it's extensible).