Solution settings

4 minute read

This sectiion describes the categories in the Solution Settings dialog box.

See Setting Visual Studio Converter Add-In Environment Variables for environment variable descriptions.

Basic solution settings

The following screenshot illustrates the Basic subcategory.

  • Cluster Manager —Indicates the Cluster Manager ( --emake-cm ).

    If this field is empty, an CloudBees Build Acceleration build is performed with local agents.

  • Root —Specifies the eMake root ( --emake-root ). To add a path to the eMake root manually, enter a path or click the folder button to browse and then click the plus button to add it to the list. To delete a path from the eMake root manually, select it in the list and click the x button. Electrify uses any eMake command line options that are set, which include the eMake root that is specified.

  • Electrify Remote —This list specifies the patterns of processes that will be distributed by Electrify. Defaults to cl.exe;link.exe;lib.exe ( --electrify-remote ).

  • Enable Jobcache —Enables JobCache for cl.exe ( --emake-jobcache=cl).

  • Add Electrify Roots Automatically —Adds the locations of all inputs (such as .cpp and .h files) to the Electrify root (also called the eMake root) automatically.

  • Virtualize Toolchain —Determines whether to virtualize the Visual Studio toolchain. This checkbox is checked by default.

Cluster solution settings

The following screenshot illustrates the Cluster subcategory.

  • Build Label —Specifies the build label ( --emake-build-label ).

  • Build Class —Specifies the build class ( --emake-class ).

  • Resource —Specifies the build resource ( --emake-resource ).

Annotation solution settings

The following screenshot illustrates the Annotation subcategory.

  • Annotation Detail —Specifies the level of annotation detail ( --emake-annodetail ) from the following selections:

  • Basic —Collects information about every command run by the build. Detailed information about each “job” in the build is recorded, including command arguments, output, exit code, timing, and source location. In addition, the build structure is represented as a tree where each recursive make level is represented in the XML output. This checkbox is checked by default.

  • Environment —Adds information about environment variable modifications.

  • File —Adds information about files read or written by each job.

  • Lookup —Adds information about files that were looked up by each job.

    This mode can cause the annotation file to become quite large.
  • Registry —Adds information about registry operations.

  • Annotation File —Specifies the annotation file ( --emake-annofile ). Required if annotation detail is set. Use the folder button to select a file.

  • Annotation Upload —Determines whether to upload the annotation file to the Cluster Manager ( --emake-annoupload ).

    If your local eMake version is 8.1 or newer, and if you select no Annotation Detail checkboxes, the converter sets the --emake-annodetail eMake option to none. In this case, if the version of eMake is older than 8.1 on the agent machines, the following error appears at build time:
    Starting build: <build number>ERROR EC1007: Unknown annotation detail token: "none"Valid tokens are: 'basic', 'env', 'file', 'history', 'lookup', 'md5', 'registry', 'waiting'

    To avoid this error, you must upgrade the agents to CloudBees Build Acceleration 8.1 or newer or check at least one Annotation Detail checkbox.

Insight solution settings

This category contains settings for using Insight from within Visual Studio to monitor build progress. Build monitoring is disabled for non-accelerated builds. This feature requires ElectricInsight version 5.2 or newer or Insight version 5.3 or newer.

electric insight settings
  • Monitor Build —Launches Insight when a build starts. This setting is enabled by default.

  • Host —Host name or IP address of the Insight machine where the build will be monitored ( hostname in --emake-monitor=<hostname_or_IP_address>:<port> ). If this is left blank, the current host (the local host) is used.

  • Port —Port for Insight monitoring ( IP_address in --emake-monitor=<hostname_or_IP_address>:<port>. If this is left blank, the port is selected automatically (to prevent conflicts among devenv instances when multiple instances of Visual Studio or Insight are running). An automatically-selected port number is 2710 + the process ID of the executing devenv process.

  • Integrate into IDE —Docks or undocks Insight. When this setting is checked, Insight appears in a Visual Studio tool window rather in its standard user interface outside of Visual Studio. When Insight is docked, the file menu, toolbar, summary pane, and file name are hidden:

    insight build mon integ

Advanced solution settings

This category contains advanced options.

  • Max Cluster Agents —Specifies the maximum number of agents to use during the build ( --emake-maxagents ).

  • Registry Root —Specifies the registry root ( --emake-reg-roots ). You can specify multiple roots separated by ‘;’ (a semicolon).

  • Exclude Environment —Specifies a list of environment variables to exclude from eMake ( --emake-exclude-env ), separated by ‘,’ (a comma).

  • F5 Behavior —Adjusts the behavior of the F5 key to map it to CloudBees Build Acceleration > Start Debugging, prompt whether to map it to CloudBees Build Acceleration > Start Debugging when pressed, or map it to Debug > Start Debugging. As with Debug > Start Debugging, this option uses the Visual Studio debugging solution setting to determine whether to prompt to build, always build, or never build before running the debugger.

    Note that you must always use the Visual Studio Debug menu to manage the debugging session.

Command line solution settings

This category lets you add additional options not explicitly specified elsewhere.

  • Environmental Variables —Specifies a list of environment variables in this format: <variable>=<value>, separated by a carriage return. Do not use set.

  • Electrify Options —Specifies a list of Electrify options in this format: --emake-<emake_argument>=<value>, separated by a carriage return.

  • Command Line —A non-editable field that shows the electrify.exe command line that is executed by the extension.