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
 	}