3 ms·
Rebuilding potentially has side-effects. You can have a build system that, if a file is changed, it makes HTTP calls, generate docker containers, store artifact
by gnulinux 5y ago
Rebuilding potentially has side-effects. You can have a build system that, if a file is changed, it makes HTTP calls, generate docker containers, store artifacts in S3 etc. Given this, computing the hash would be negligable amount of work. Besides make does iterate over all dependencies every time to check last modified date filesystem keeps. So, at that point one can compute hash.
- IgorPartola 5y agoYou shouldn’t have such a build system. Idempotence is a feature, not a bug.
- afiori 5y agoidempotent does not mean side effects free; a compile-to-the-cloud system for distributed caching can be idempotent (ocaml is building support in this direction)
- mmis1000 5y agoSide effects that target on non local dir seems shouldn't be included in the build step. It should be in a standalone script/ target/whatever. Or the build process will not be reproducible at all.
- afiori 5y agobuilds should not use non-local inputs, but they can have non-local outputs. the simplest case would be automatically publishing a package or image to a private registry