Configuration Changes

Incredibuild uses default settings saved in a set of configuration files, applying override changes that are saved in a separate set of files.

Values in the override files take precedence over any default values.

Note: The override files only need to include the required changes, and do not have to include all the settings.

The override files are updated by:

  • Editing Agent Settings

  • Editing Coordinator Settings

  • Creating and editing override configuration files

The values in the override files are preserved during system upgrades.

Default Settings File Locations

The default files are read-only and located in the <IB_location>\resources folder:

  • BuildCache_profile.xml

  • buildcache_client_config.json

  • buildcache_client_config_lite.json

  • resources\buildcache_service_config.json

  • build_data_extractor_config.json

  • coordinator_service_config.json

  • license_client_config.json

  • license_service_config.json

  • test_console_logger_config.json

Override File Locations

The override files are located in C:\ProgramData\Incredibuild\<component_name>.

Build Cache Override Settings File Location

The Build Cache override files are located in C:\ProgramData\Incredibuild\BuildCache:

  • BuildCache_profile.xml

  • buildcache_client_config.json

  • buildcache_client_config_lite.json

  • buildcache_service_config.json

Build Data Extractor Override Settings File Location

The Build Data Extractor override files are located in C:\ProgramData\Incredibuild\BDE:

  • build_data_extractor_config.json

Coordinator Override Settings File Location

The Coordinator override files are located in C:\ProgramData\Incredibuild\Coordinator:

  • coordinator_service_config.json

License Override Settings File Location

The License override files are located in C:\ProgramData\Incredibuild\License:

  • license_client_config.json

  • license_service_config.json

Test Console Override Settings File Location

The Test Console override files are located in C:\ProgramData\Incredibuild\TestConsole:

  • test_console_logger_config.json

Examples

JSON File

To override a log level and log file size setting in JSON:

Copy
{
  "logger": {
    "loggersLevel": [
      [
        "buildcache",1
      ],[
        "buildcache_session",1
      ],[
        "common",1
      ]
    ],
    "sink": {
      "logFileMaxSizeInBytes": 838860800,
    }
  }
}

XML File

For XML, the granularity required is at the tool level, that is, include the complete tool definition. For example, to modify the midle.exe profile, add it’s node to the override file:

Copy
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Profile FormatVersion="2">
  <Tools>
    <Tool Filename="midl" AllowBuildCache="true" IncludeBinaryDependencies="false" IncludeToolInSignature="true">
      <CmdArguments>
        <Exclude Type="subStr"> -DIB_RUNLOCAL</Exclude>
...
        
        <Exclude Type="subStr"> /errorReport:send</Exclude>
      </CmdArguments>
      <ChildProcesses>
        <Exclude>VCTIP</Exclude>
      </ChildProcesses>
      <InputFiles>
        <Exclude>\FILETRACKER32.DLL</Exclude>
...
        
        <Exclude>%PROGRAMDATA%\NVIDIA CORPORATION\</Exclude>
      </InputFiles>
      <OutputFiles>
        <Exclude>%TEMP%\</Exclude>
...
        
        <Exclude>%PROGRAMDATA%\NVIDIA CORPORATION\</Exclude>
      </OutputFiles>
      <Environment Mode="include" Persistent="false">
        <Include>CAEXCLUDEPATH</Include>
...
        
        <Include>LIBPATH</Include>
      </Environment>
    </Tool>
  </Tools>
</Profile>