Build/Test Issues

ExclusivelyUses functionality when building

Started by MatthewSteeples on 1,898 views

Is it possible to get the functionality of ExclusivelyUsesAttribute but for building a project rather than running tests? The summary is that we have a build task that runs to precompile views (using this library) but I'm beginning to suspect it doesn't like being run for multiple projects at the same time. So what I'm after is a way to tell my grid node to only build this particular project one at a time for each of the clients.
We don't presently have any feature in NCrunch that allows you to manage the concurrency of the project build or analysis tasks.

Generally when this sort of problem appears the approach we usually take is to try and find a way to fix the build so that concurrency is not an issue. How critical is this particular build step? Is disabling it an option?
Remco wrote:How critical is this particular build step? Is disabling it an option?


It's not a "step" as such, as it integrates as a Target with msbuild. It does spawn a third party process though (which is where I suspect the problem we experience comes from). We do run most of the time with it disabled, but we would like to enable it because the step is basically to compile all of our views to see if there are any build errors. Because it's very CPU intensive, we only want our GridNodes to do it.
Is there perhaps an option to include the tool inside your project space so it gets copied to the workspace and doesn't clash with itself? Sorry I'm just trying to help fish for ideas.
Appreciate the thoughts. I've not investigated that thoroughly, but the project ships as a NuGet package so "comes with the source" effectively. I'm not sure what you mean by "project space" in this context.

One thing we've considered (as the project is open source) is creating our own mini fork with a mutex on load so it only runs once per machine. That's the best I've managed to come up with currently.

Post a reply

Log in to reply.