Common Vocabulary for Build Systems
- keys, values, stores: A build system updates a store that implements a mapping from keys to values.
- input: values provided by user
- output: end build products
- intermediate values: all other values
- persistent build information: information maintained by the build system across builds
- task description: specification of how to compute a new value for a key given up-to-date values for its dependencies
- build system: takes a task description, target key, store, and returns a new store in which target + deps have up to date values.
- operation: a task you can express in your build system’s DSL