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:
{
"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:
<?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>