Rather than injecting universe at runtime, this change will vendor
alpha.dagger.io in `cue.mod` directly.
Fixes#700
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
- Solver: Encapsulates all access to Buildkit. Can solve plain LLB, invoke external frontends (for DockerBuild) and export (for ContainerPush)
- FS (now BuildkitFS) implements the standard Go 1.16 io/fs.FS interface and provides a read-only filesystem on top of a buildkit result. It can be used with built-ins such as fs.WalkDir (no need to have our own Walk functions anymore)
- Moved CueBuild into compiler.Build since it no longer depends on Buildkit. Instead it relies on the io/fs.FS interface, which is used both for the base config and the stdlib (go:embed also uses io/fs.FS). Overlaying base and the stdlib is now done by the same code.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This PR embeds the stdlib into the dagger binary itself for convenience.
Long term we will want to source the stdlib directly from git.
- Updated go to 1.16 to use the new built-in embedding functionality
- The `stdlib` go package now contains an embed of the stdlib
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>