gregmac / MSBuild.CallTargetsParallel

A task to invoke parallel targets from MSBuild scripts
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Improve Teamcity output #1

Open gregmac opened 10 years ago

gregmac commented 10 years ago

If environment variable TEAMCITY_VERSION is set, use flowId to mark messages so they can be displayed in blocks correctly.

##teamcity[message text='<message text>' flowId='<unique id>']

Not sure if flowId shows up -- if not, it can just be a GUID assigned when the thread is created, and that way even if the same parallel names are re-used it will not conflict.

gregmac commented 9 years ago

Implemented in branch (https://github.com/gregmac/MSBuild.CallTargetsParallel/tree/feature/teamcity-parallel) but unfortunately, teamcity doesn't handle it correctly.

Preferably, TeamCity would fix this: https://youtrack.jetbrains.com/issue/TW-8249

The only other option I can think of (besides do nothing) is to buffer the output, show nothing during execution, and then once a thread is complete, dump its output all at once. This is less than ideal, and at the least would mean aborting the task for any reason would result in no output at all (and if a human or TeamCity is aborting, it's probably hung, and the log output is very useful to figure this out).