Platform Line

Synopsis::Isolate the platform dependent parts of systems.

Intent
To maintain platform specific parts of the system independent of one another so that the relevant platform code can be easily selected and developed.

Also known as
also known as::Variant Line, also known as::Permanent Variant Branch, also known as::Platform Branch,

Structure
Platform specific files are isolated on a platform specific branch so that they can be easily selected for builds.

Consequences

 * Platform specific files can be selected into a build environment to construct platform specific versions of a system.
 * Specialised development for platforms can be isolated and assigned to different developers or teams.
 * Where version control tools often do not support version control at the directory level, the platform line pattern allows variants to be selected into a configuration.
 * The platform pattern means multiple platforms cannot be build simultaneously (the variant branches are mutually exclusive).

Related patterns
There are no known variants of the platform line pattern.

The following patterns are related to the pattern.
 * related pattern::Component Line
 * related pattern::Codeline Policy
 * related pattern::Codeline Owner