What triggers a build?

Posted by Stefan Drissen on 26-Jul-2013 02:50

When getting latest version from Team Foundation Server - this usually (correctly) triggers a compile of new (.p) files but every now and then a full build seems to be started - the title of the progress bar is "Building workspace" the subtext is "Compiling <lots of your files.p>".

The project menu setting has 'Build automatically' checked, but what is triggering the build?

It seems completely random - and since build seems to be a workspace blocking operation - a major annoyance (a full single threaded build takes over two hours) - any checkout of a file from TFS has to wait for the build to finish.

End result: the build is stopped so I can actually get some work done and a full compile started manually after hours.

All Replies

Posted by Matt Baker on 13-Aug-2013 15:49

Lots of stuff trigger a build.  Generally any change to the workspace.  This could be something as simple as an annotation on a file, or modifying a file inside or outside eclipse.  You can also invoke it manually, and some plugins do.  Any plugin in eclipse has the ability to request a build or change any file in the workspace. 

As you mentioned, a build is a blocking operation. It locks the entire workspace until all builders have been processed.  It is simply an eclipse behavior, and not something PDS has control over.

PDS supports partial builds.  If you cancel a build, eclipse throws away the entire build state and restarts it from scratch the next time it needs to run.  After a complete build it will perform partial builds on the change set since last full compile.  Its best to let it run to completion at least once, from then on, it will only do partial builds.

Other solution is to break your project up so you are only working with the part you actually need. 

Posted by Stefan Drissen on 23-Aug-2013 18:37

mbaker wrote:

PDS supports partial builds.  If you cancel a build, eclipse throws away the entire build state and restarts it from scratch the next time it needs to run.  After a complete build it will perform partial builds on the change set since last full compile.  Its best to let it run to completion at least once, from then on, it will only do partial builds.

After a succesful complete build, it will work fine for a while - only (re)compiling changed sources as expected. But every now and then a full build is triggered. Is there any log anywhere that will shed light on what triggered the full build?

This thread is closed