diff --git a/client/client.go b/client/client.go index 21b6847f..78294705 100644 --- a/client/client.go +++ b/client/client.go @@ -75,7 +75,7 @@ func New(ctx context.Context, host string, cfg Config) (*Client, error) { type DoFunc func(context.Context, solver.Solver) error // FIXME: return completed *Route, instead of *compiler.Value -func (c *Client) Do(ctx context.Context, pctx *plancontext.Context, fn DoFunc) error { +func (c *Client) Do(ctx context.Context, pctx *plancontext.Context, localdirs map[string]string, fn DoFunc) error { lg := log.Ctx(ctx) eg, gctx := errgroup.WithContext(ctx) @@ -90,13 +90,13 @@ func (c *Client) Do(ctx context.Context, pctx *plancontext.Context, fn DoFunc) e // Spawn build function eg.Go(func() error { - return c.buildfn(gctx, pctx, fn, events) + return c.buildfn(gctx, pctx, localdirs, fn, events) }) return eg.Wait() } -func (c *Client) buildfn(ctx context.Context, pctx *plancontext.Context, fn DoFunc, ch chan *bk.SolveStatus) error { +func (c *Client) buildfn(ctx context.Context, pctx *plancontext.Context, localdirs map[string]string, fn DoFunc, ch chan *bk.SolveStatus) error { wg := sync.WaitGroup{} // Close output channel @@ -111,11 +111,6 @@ func (c *Client) buildfn(ctx context.Context, pctx *plancontext.Context, fn DoFu // buildkit auth provider (registry) auth := solver.NewRegistryAuthProvider() - localdirs := map[string]string{} - for _, dir := range pctx.Directories.List() { - localdirs[dir.Path] = dir.Path - } - // Setup solve options opts := bk.SolveOpt{ LocalDirs: localdirs, diff --git a/cmd/dagger/cmd/compute.go b/cmd/dagger/cmd/compute.go index b3e4ab48..4121f5f9 100644 --- a/cmd/dagger/cmd/compute.go +++ b/cmd/dagger/cmd/compute.go @@ -198,7 +198,7 @@ var computeCmd = &cobra.Command{ lg.Fatal().Msg("unable to create environment") } - err = cl.Do(ctx, env.Context(), func(ctx context.Context, s solver.Solver) error { + err = cl.Do(ctx, env.Context(), env.Context().Directories.Paths(), func(ctx context.Context, s solver.Solver) error { // check that all inputs are set checkInputs(ctx, env) diff --git a/cmd/dagger/cmd/edit.go b/cmd/dagger/cmd/edit.go index 3a229e79..2331321c 100644 --- a/cmd/dagger/cmd/edit.go +++ b/cmd/dagger/cmd/edit.go @@ -83,7 +83,7 @@ var editCmd = &cobra.Command{ } cl := common.NewClient(ctx) - err = cl.Do(ctx, env.Context(), func(ctx context.Context, s solver.Solver) error { + err = cl.Do(ctx, env.Context(), env.Context().Directories.Paths(), func(ctx context.Context, s solver.Solver) error { // check for cue errors by scanning all the inputs _, err := env.ScanInputs(ctx, true) if err != nil { diff --git a/cmd/dagger/cmd/input/list.go b/cmd/dagger/cmd/input/list.go index 5661438d..aded857d 100644 --- a/cmd/dagger/cmd/input/list.go +++ b/cmd/dagger/cmd/input/list.go @@ -47,7 +47,7 @@ var listCmd = &cobra.Command{ } cl := common.NewClient(ctx) - err = cl.Do(ctx, env.Context(), func(ctx context.Context, s solver.Solver) error { + err = cl.Do(ctx, env.Context(), env.Context().Directories.Paths(), func(ctx context.Context, s solver.Solver) error { inputs, err := env.ScanInputs(ctx, false) if err != nil { return err diff --git a/cmd/dagger/cmd/input/root.go b/cmd/dagger/cmd/input/root.go index b52f6c8a..fbf8ef6a 100644 --- a/cmd/dagger/cmd/input/root.go +++ b/cmd/dagger/cmd/input/root.go @@ -59,7 +59,7 @@ func updateEnvironmentInput(ctx context.Context, cmd *cobra.Command, target stri } cl := common.NewClient(ctx) - err = cl.Do(ctx, env.Context(), func(ctx context.Context, s solver.Solver) error { + err = cl.Do(ctx, env.Context(), env.Context().Directories.Paths(), func(ctx context.Context, s solver.Solver) error { // the inputs are set, check for cue errors by scanning all the inputs _, err := env.ScanInputs(ctx, true) if err != nil { diff --git a/cmd/dagger/cmd/output/list.go b/cmd/dagger/cmd/output/list.go index 3b910bda..9fa57578 100644 --- a/cmd/dagger/cmd/output/list.go +++ b/cmd/dagger/cmd/output/list.go @@ -46,7 +46,7 @@ var listCmd = &cobra.Command{ } cl := common.NewClient(ctx) - err = cl.Do(ctx, env.Context(), func(ctx context.Context, s solver.Solver) error { + err = cl.Do(ctx, env.Context(), env.Context().Directories.Paths(), func(ctx context.Context, s solver.Solver) error { return ListOutputs(ctx, env, true) }) diff --git a/cmd/dagger/cmd/root.go b/cmd/dagger/cmd/root.go index 1a01a811..ee024878 100644 --- a/cmd/dagger/cmd/root.go +++ b/cmd/dagger/cmd/root.go @@ -89,8 +89,7 @@ func Execute() { ) if len(os.Args) > 1 { - tr := otel.Tracer("cmd") - ctx, span = tr.Start(ctx, os.Args[1]) + ctx, span = otel.Tracer("dagger").Start(ctx, os.Args[1]) // Record the action span.AddEvent("command", trace.WithAttributes( attribute.String("args", strings.Join(os.Args, " ")), diff --git a/cmd/dagger/cmd/up.go b/cmd/dagger/cmd/up.go index 1e8cd38e..aa24f3e6 100644 --- a/cmd/dagger/cmd/up.go +++ b/cmd/dagger/cmd/up.go @@ -66,7 +66,7 @@ var upCmd = &cobra.Command{ lg.Fatal().Msg("unable to create environment") } - err = cl.Do(ctx, env.Context(), func(ctx context.Context, s solver.Solver) error { + err = cl.Do(ctx, env.Context(), env.Context().Directories.Paths(), func(ctx context.Context, s solver.Solver) error { // check that all inputs are set if err := checkInputs(ctx, env); err != nil { return err