docker. In order to execute the build, we can run, for example:
|, within the output, we can see some targets like
+docker. Notice how the output is interleaved between
+build. This is because the system executes independent build steps in parallel. The reason this is possible effortlessly is because only very few things are shared between the builds of the recipes and those things are declared and obvious. The rest is completely isolated.
docker, it is only executed once. This is because the system deduplicates execution, where possible.
dockertarget depends on the
buildtarget is visible within the command
COPY +build/.... Through this command, the system knows that it also needs to build the target
+build, in order to satisfy the dependency on the artifact.