This repository has been archived by the owner on Apr 25, 2019. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changeset implements the machinery required to achieve incremental content hash based rebuilding atop dependency order builds.
The fundamental strategy here is to use the
rule-id
extension point to compute a content address for every single rule to be built. If that content address exists in a trivial filesystem cache, then the previously built product in the cache is deserialized and used.The
rule-build
contract has been extended to define rules to occur within a chroot addressed byme.raynes.fs/*cwd*
. This allows theroll
machinery to preserve and potentially restore previously rolled build products.The product records have been extended with
:id
, being the content address of the product.The task
clean-cache [ttl-age-ms]
has been added, allowing users to clean cached build products beyond some age or to bust the cache entirely usingclean-cache 0
to remove all cached products.Fixes #5