13 | | A target platform is something like ''“NetBSD on x86”'' or ''“Win32 with Java 1.4”''. Technically, a target platform is a named set of rules against which the properties of build slaves are matched. Each rule is a regular expression matching a particular slave property, such as the operating system or the processor. |
| 14 | A target platform is something like ''“NetBSD on x86”'' or ''“Win32 with Java 1.4”''. |
| 15 | |
| 16 | Technically, a target platform is a named set of rules against which the properties of build slaves are matched. Each rule is a regular expression matching a particular slave property, such as the operating system or the processor. When a slave connects to the build master, it sends a registration message that includes information about the slave. |
| 17 | |
| 18 | By default, the following properties are included: |
| 19 | |
| 20 | `family`:: The basic type of operating system, typically “posix” for Unix-like systems and “nt” for Win32 systems. |
| 21 | `os`:: The name of the operating system (for example “Darwin”, “Linux” or “Windows”). |
| 22 | `version`:: The operating system version. |
| 23 | `machine`:: The hardware platform (for example “i686” or “Power Macintosh”). |
| 24 | `processor`:: The processor architecture (for example “athlon” or “powerpc”). |
| 25 | |
| 26 | Note that not all of these properties may be available for all platforms. For example, the `machine` and `processor` properties are currently empty for build slaves running on Windows. Additional properties can be set up on the slave side using a [wiki:SlaveConfiguration configuration file]. |
| 27 | |
| 28 | So to set up a target platform, you create rules that are checked against the properties of the slave. For example, a target platform that matches slave running Linux on x86 would look like this: |
| 29 | |
| 30 | || '''Property''' || '''Expression''' || |
| 31 | || `os` || `^Linux` || |
| 32 | || `processor` || `^[xi]\d86$` || |
| 33 | |
| 34 | A target platform that matches any slaves running on Windows might look like this: |
| 35 | |
| 36 | || '''Property''' || '''Expression''' || |
| 37 | || `family` || `^nt$` || |