Simplify runtime code by removing layers of abstraction

- Remove intermediary types `Component`, `Script`, `Op`, `mount`: just use
  `cc.Value` directly
- Remove `Executable` interface.
- Execute llb code with a simple concrete type `Pipeline`
- Analyze llb code with a simple utility `Analyze`

Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
This commit is contained in:
Solomon Hykes
2021-02-08 19:47:07 +00:00
parent 92b61f7edb
commit acba8b3988
22 changed files with 782 additions and 1536 deletions

View File

@@ -93,10 +93,7 @@ func (c *Client) buildfn(ctx context.Context, env *Env, ch chan *bk.SolveStatus,
lg := log.Ctx(ctx)
// Scan local dirs to grant access
localdirs, err := env.LocalDirs(ctx)
if err != nil {
return errors.Wrap(err, "scan local dirs")
}
localdirs := env.LocalDirs()
for label, dir := range localdirs {
abs, err := filepath.Abs(dir)
if err != nil {