Draft: Introduce build-time parts
Build-time parts are exactly like shared parts, except shared parts are
installed in paths specified by buildout:shared-parts
, while build-time
parts are installed in paths specified by buildout:build-time-parts
.
A part is build-time when build-time=true
, and shared when shared=true
and the part is not build-time: build-time takes precedence.
This gives the opportunity to set build-time=true
for parts that are
only needed to build other parts, but are not needed at runtime for
any service in the instance. Then by setting buildout:build-time-parts
but not buildout:shared-parts
, these parts can be shared even when
runtime parts should not be shared.
This would notably be useful for building SRs for the binary cache,
because the binary cache does not support shared parts currently, and
therefore shared parts are disabled by unsetting buildout:shared-parts
causing the binary SR to be needlessly bloated with all the build-time
parts.
Enabling build-time parts only would very simply exclude build-time parts from the binary SR pushed to the binary cache.