From ab34fddbc42f8f3871d92238c08e1d8e668239a2 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Wed, 15 Jun 2022 10:47:17 -0700 Subject: [PATCH] Remove automatic target initialization, update caching --- internal/core/project.go | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/internal/core/project.go b/internal/core/project.go index a52da9948..1b940a196 100644 --- a/internal/core/project.go +++ b/internal/core/project.go @@ -477,29 +477,24 @@ func (p *Project) LoadTarget(topts ...TargetOption) (t *Target, err error) { return nil, err } + // Lookup target in cached list by name if c, ok := p.targets[t.target.Name]; ok { - if c.vagrantfile != nil { - return c, nil - } + return c, nil } + // Lookup target in cached list by resource id if c, ok := p.targets[t.target.ResourceId]; ok { - // If the vagrantfile hasn't been set on the cached - // value, re-apply the options before returning - if c.vagrantfile == nil { - // If it hasn't, re-apply the opts before returning - for _, opt := range topts { - if oerr := opt(c); oerr != nil { - err = multierror.Append(err, oerr) - } - } - if err != nil { - return nil, err - } - } return c, nil } + // Only store cache the local target if the vagrantfile + // has been set + if t.vagrantfile != nil { + // Add the target to target list in project + p.targets[t.target.ResourceId] = t + p.targets[t.target.Name] = t + } + // If this is the first time through, re-init the target if err = t.init(); err != nil { return @@ -512,10 +507,6 @@ func (p *Project) LoadTarget(topts ...TargetOption) (t *Target, err error) { } } - // Add the target to target list in project - p.targets[t.target.ResourceId] = t - p.targets[t.target.Name] = t - // Update the logger name based on the level if t.logger.IsTrace() { t.logger = t.logger.Named("target") @@ -561,11 +552,6 @@ func (p *Project) Run(ctx context.Context, task *vagrant_server.Task) (err error "project", p, "task", task) - // Intialize targets - if err = p.InitTargets(); err != nil { - return err - } - cmd, err := p.basis.component( ctx, component.CommandType, task.Component.Name) if err != nil {