Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Added

Section

Using IncrediBuild for Visual Studio 2010 and Later

You can use IncrediBuild with Visual Studio 2010 and later the same as with Visual Studio 2008 and earlier with the additions described in the following sections.

Check out the Visual Studio 2008 and Earlier section if you would like to see what has changed since then.

Using Profile.xml to Distribute Custom Steps and Execute Tasks in Visual Studio 2010 and Later Builds

By default, custom steps, exec tasks, and special build tools are not distributed to remote agents.
IncrediBuild can be enabled to distribute and manage these tasks, by using an XML file based on IncrediBuild Automatic Interception interface. A profile.xml file can be utilized in two ways in order to manage such tasks:

  • In the command line of BuildConsole specify ‘/profile=[profile_file_name].xml’ (without the square bracket characters).
  • Per solution, create ‘[solution_folder]\[solution_name].ib_profile.xml’ profile xml file, which will be loaded if no profile file was specified with the ‘/profile=[profile_file_name].xml’ switch.

The following XML file instructs IncrediBuild to distribute every "gawk" task that is executed by the build. Note that even though the real file is "gawk.exe", the file extension is not specified:


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Profile FormatVersion="1">
<Tools>
<Tool Filename="gawk" AllowRemote="true" />
</Tools>
</Profile>

Other Automatic Interception Interface features can be used to fully control the tasks – see Automatic Interception Interface.

Setting a Specific Project to Run Locally

Distribution of heavy tasks to remote agents might lead to a high I/O ratio on the Initiator machine, which can lead to an increase in the build time. The projects containing those heavy tasks can be defined to run only on the local machine.

To mark a project to run only locally:

  1. Right-click the project in Visual Studio, and select "Properties"->"Configuration Properties"->"C/C++"->"Preprocessor Definitions".
  2. Add the following string to the "Preprocessor Definitions" section: IB_RunLocal

Synchronizing Specific Files Back to the Initiator Machine

This section is mainly relevant for processes that are defined as VC compiler = true. For example: Microsoft compiler and Intel compiler, which are defined in IncrediBuild to return OBJ files. If you want them to return other files, you can explicitly define those files that should be synchronized back to the Initiator machine.

To define files to be synchronized back to the Initiator machine:

  1. On the Coordinator machine, right-click the IncrediBuild tray icon, and in the menu that appears, select Coordinator Monitor.
    The Coordinator Monitor opens, with a list of all the agents.
  2. In the list of agents, right-click the initiator agent, and in the menu that appears, select Set Registry Value...
    The Set Registry Value dialog box opens.
  3. Make sure that Value Category is set to Builder.
  4. Under Name, type: AdditionalOutputMasks.
  5. Under Data, type either of the following strings to define the files that you want returned to the Initiator machine:
    *.txt - to return all *.txt files.
    *.txt;*.xml - to return all *.txt files as well as all *.xml files.
  6. Click OK.
    The registry value is added to the Initiator machine.

...