
Uncontrolled host
An uncontrolled host is a build machine that is not under strict control (OS, tools, compilers, etc) or does not provide a build number for every build. Developer boxes are usually uncontrolled hosts.
Detection
If Git2SemVer does not detect a controlled host (such as a build system) is will treat the host as uncontrolled and create a build counter on that machine.
Build number
On an uncontrolled host:
Host property | Description |
---|---|
Build number | Locally managed build counter stored in the machines AppData directory. |
Build context | Machine name as the build number's context is the machine. |
Build ID | <build context>.<build number> (<machine name>.<build number> ) |
Example versions:
1.2.3-JohnsPC.12345
1.2.3-JohnsPC.12345+3a962b33
1.2.3+JohnsPC.12345.3a962b33
The machine name (build context) identifier comes before the build number to give the machine name higher Semmantic Versioning pecedence precedence for comparing versions from multiple hosts as the build numbers for different hosts are not comparable.
Note
Semmantic Versioning pecedence will not work when comparing versions from different hosts. So NuGet pre-release builds must be published from one host only (typically the build system) so that the highest precedence build is shown.
Properties
The build host object's properties are:
Host property | Description |
---|---|
Build number | Set to local generated build count. |
Build context | Set to the host's machine name. |
Build ID | <build context>.<build number> |
IsControlled | false |
Name | 'Uncontrolled' |
Services
services | Description |
---|---|
BumpBuildNumber | Not supported (does nothing) |
ReportBuildStatistic | Not supported (does nothing) |
SetBuildLabel | Not supported (does nothing) |