We use the log parser plugin to readily drill down into build output and find errors generated by MSBuild.
To do this, we supply some regular expressions using a definition file that's written out by a Powershell bootstrapper.
$jenkinsMsBuildContent = @'
# Divide into sections based on project compile start
# Compiler Error
error /(?i)error [A-Z]+[0-9]+:/
error /MSBUILD : (?i)error :/
error /\(\d+(,\d+)?\): (?i)error [A-Za-z]*:/
# Compiler Warning
warning /(?i)warning [A-Z]+[0-9]+:/
$jenkinsMsBuildContent | Out-File 'd:\JenkinsHome\VSParsingRules.txt' -Force -Encoding 'ASCII'
In any event, we could add some regexs to capture Psake output in the same way -- but I don't know that Psake output is really standardized. There is a header line like this that I could capture on...
4/27/2012 11:51:16 AM: An Error Occurred. See Error Details Below:
But it doesn't follow the same model of one line per error in a summary format like other build output does. Perhaps it should follow the same conventions established by MSBuild in that respect to make it easier for build systems to pick up the output?
Also see my comment on
I have included a replacement for Resolve-Error that I've written that might be useful to put into Psake.
I'd be happy to fork / fix / do a pull request if this is something you'd be interested in integrating.
Minor tweaks to error output to make it consistent with what a build …
…server like Jenkins might expect based on similarity to MSBuild output -- this is part one of the modification
Part two will involve incorporating a friendlier single line error message
Appears to be fixed via PR #34