diff --git a/newt/builder/targetbuild.go b/newt/builder/targetbuild.go index b887450369..d12cf1043d 100644 --- a/newt/builder/targetbuild.go +++ b/newt/builder/targetbuild.go @@ -95,7 +95,7 @@ func NewTargetTester(target *target.Target, injectedSettings: cfgv.NewSettings(nil), } - if err := t.ensureResolved(); err != nil { + if err := t.ensureResolved(false); err != nil { return nil, err } @@ -103,6 +103,8 @@ func NewTargetTester(target *target.Target, return nil, err } + t.res.Cfg.DetectErrors(bspPkg.FlashMap) + return t, nil } @@ -174,7 +176,7 @@ func (t *TargetBuilder) resolveTransientPkgs(lps []*pkg.LocalPackage) { } } -func (t *TargetBuilder) ensureResolved() error { +func (t *TargetBuilder) ensureResolved(detectErr bool) error { if t.res != nil { return nil } @@ -238,7 +240,7 @@ func (t *TargetBuilder) ensureResolved() error { var err error t.res, err = resolve.ResolveFull( - loaderSeeds, appSeeds, t.injectedSettings, t.bspPkg.FlashMap) + loaderSeeds, appSeeds, t.injectedSettings, t.bspPkg.FlashMap, detectErr) if err != nil { return err } @@ -267,7 +269,7 @@ func (t *TargetBuilder) ensureResolved() error { } func (t *TargetBuilder) Resolve() (*resolve.Resolution, error) { - if err := t.ensureResolved(); err != nil { + if err := t.ensureResolved(true); err != nil { return nil, err } @@ -275,7 +277,7 @@ func (t *TargetBuilder) Resolve() (*resolve.Resolution, error) { } func (t *TargetBuilder) validateAndWriteCfg() error { - if err := t.ensureResolved(); err != nil { + if err := t.ensureResolved(true); err != nil { return err } @@ -384,7 +386,7 @@ func (t *TargetBuilder) extraADirs() []string { } func (t *TargetBuilder) PrepBuild() error { - if err := t.ensureResolved(); err != nil { + if err := t.ensureResolved(true); err != nil { return err } @@ -836,7 +838,7 @@ func (t *TargetBuilder) MaxImgSizes() []int { } func (t *TargetBuilder) CreateDepGraph() (DepGraph, error) { - if err := t.ensureResolved(); err != nil { + if err := t.ensureResolved(true); err != nil { return nil, err } @@ -844,7 +846,7 @@ func (t *TargetBuilder) CreateDepGraph() (DepGraph, error) { } func (t *TargetBuilder) CreateRevdepGraph() (DepGraph, error) { - if err := t.ensureResolved(); err != nil { + if err := t.ensureResolved(true); err != nil { return nil, err } diff --git a/newt/resolve/resolve.go b/newt/resolve/resolve.go index ef883de529..d930aa25bc 100644 --- a/newt/resolve/resolve.go +++ b/newt/resolve/resolve.go @@ -1168,7 +1168,8 @@ func ResolveFull( loaderSeeds []*pkg.LocalPackage, appSeeds []*pkg.LocalPackage, injectedSettings *cfgv.Settings, - flashMap flashmap.FlashMap) (*Resolution, error) { + flashMap flashmap.FlashMap, + detectErr bool) (*Resolution, error) { // First, calculate syscfg and determine which package provides each // required API. Syscfg and APIs are project-wide; that is, they are @@ -1239,7 +1240,9 @@ func ResolveFull( if loaderSeeds == nil { res.AppSet.Rpkgs = r.rpkgSlice() res.LoaderSet = nil - res.Cfg.DetectErrors(flashMap) + if detectErr == true { + res.Cfg.DetectErrors(flashMap) + } return res, nil } @@ -1290,7 +1293,9 @@ func ResolveFull( return nil, err } - res.Cfg.DetectErrors(flashMap) + if detectErr == true { + res.Cfg.DetectErrors(flashMap) + } return res, nil }