in newt/builder/targetbuild.go [269:356]
func (t *TargetBuilder) validateAndWriteCfg() error {
if err := t.ensureResolved(); err != nil {
return err
}
if errText := t.res.ErrorText(); errText != "" {
return util.NewNewtError(errText)
}
warningText := strings.TrimSpace(t.res.WarningText())
if warningText != "" {
log.Debug(warningText)
}
for _, line := range t.res.DeprecatedWarning() {
log.Warn(line)
}
for _, line := range t.res.ExperimentalWarning() {
log.Warn(line)
}
incDir := GeneratedIncludeDir(t.target.FullName())
srcDir := GeneratedSrcDir(t.target.FullName())
lpkgs := resolve.RpkgSliceToLpkgSlice(t.res.MasterSet.Rpkgs)
apis := []string{}
for api := range t.res.ApiMap {
apis = append(apis, api)
}
if err := syscfg.EnsureWritten(t.res.Cfg, incDir, lpkgs, apis); err != nil {
return err
}
if err := t.res.LCfg.EnsureWritten(incDir); err != nil {
return err
}
// Generate loader sysinit.
if t.res.LoaderSet != nil {
lpkgs = resolve.RpkgSliceToLpkgSlice(t.res.LoaderSet.Rpkgs)
if err := t.res.SysinitCfg.EnsureWritten(lpkgs, srcDir,
pkg.ShortName(t.target.Package()), true); err != nil {
return err
}
}
// Generate app sysinit.
lpkgs = resolve.RpkgSliceToLpkgSlice(t.res.AppSet.Rpkgs)
if err := t.res.SysinitCfg.EnsureWritten(lpkgs, srcDir,
pkg.ShortName(t.target.Package()), false); err != nil {
return err
}
// Generate loader sysinit.
if t.res.LoaderSet != nil {
lpkgs = resolve.RpkgSliceToLpkgSlice(t.res.LoaderSet.Rpkgs)
if err := t.res.SysdownCfg.EnsureWritten(lpkgs, srcDir,
pkg.ShortName(t.target.Package()), true); err != nil {
return err
}
}
// XXX: Generate loader sysdown.
// Generate app sysdown.
lpkgs = resolve.RpkgSliceToLpkgSlice(t.res.AppSet.Rpkgs)
if err := t.res.SysdownCfg.EnsureWritten(lpkgs, srcDir,
pkg.ShortName(t.target.Package()), false); err != nil {
return err
}
// Generate flash map.
if err := flashmap.EnsureFlashMapWritten(
t.bspPkg.FlashMap,
srcDir,
incDir,
pkg.ShortName(t.target.Package())); err != nil {
return err
}
return nil
}