Skip to content

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.

Edited by Xavier Thompson

Merge request reports