You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by an...@apache.org on 2026/10/28 08:33:21 UTC
(mynewt-newt) 02/06: newt/builder: Extract preparation of build inputs
This is an automated email from the ASF dual-hosted git repository.
andrzej-kaczmarek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-newt.git
commit c02f3c9c0762c5cb06aceb8c910df9e9dad93de2
Author: Andrzej Kaczmarek <an...@codecoup.pl>
AuthorDate: Tue Oct 13 23:57:32 2026 +0200
newt/builder: Extract preparation of build inputs
Move the steps of TargetBuilder.Build() which generate build inputs
before compilation (key file source, link tables, pre-build user
scripts) to a separate function, so that they can be reused by other
build systems generated by newt.
No functional change.
Assisted-by: Claude:claude-opus-5-5
---
newt/builder/targetbuild.go | 33 ++++++++++++++++++++++-----------
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/newt/builder/targetbuild.go b/newt/builder/targetbuild.go
index 3812b183..091b912c 100644
--- a/newt/builder/targetbuild.go
+++ b/newt/builder/targetbuild.go
@@ -579,11 +579,10 @@ func (t *TargetBuilder) autogenKeys() error {
return nil
}
-func (t *TargetBuilder) Build() error {
- if err := t.PrepBuild(); err != nil {
- return err
- }
-
+// prepareBuildInputs generates the build inputs which are produced before
+// compilation: the key file source, link tables and artifacts emitted by
+// pre-build user scripts. It must be called after PrepBuild().
+func (t *TargetBuilder) prepareBuildInputs(workDir string) error {
if err := t.bspPkg.Reload(t.AppBuilder.cfg.SettingValues()); err != nil {
return err
}
@@ -595,6 +594,23 @@ func (t *TargetBuilder) Build() error {
}
}
+ if err := t.generateLinkTables(); err != nil {
+ return err
+ }
+
+ // Execute the set of pre-build user scripts.
+ if err := t.execPreBuildCmds(workDir); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (t *TargetBuilder) Build() error {
+ if err := t.PrepBuild(); err != nil {
+ return err
+ }
+
workDir, err := makeUserWorkDir()
if err != nil {
return err
@@ -604,12 +620,7 @@ func (t *TargetBuilder) Build() error {
os.RemoveAll(workDir)
}()
- if err := t.generateLinkTables(); err != nil {
- return err
- }
-
- // Execute the set of pre-build user scripts.
- if err := t.execPreBuildCmds(workDir); err != nil {
+ if err := t.prepareBuildInputs(workDir); err != nil {
return err
}