This is an automated email from the ASF dual-hosted git repository.

ccollins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-newt.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e6fc3d  Emit `size` in mfg manifest target entries
9e6fc3d is described below

commit 9e6fc3de427274b756cb9070b44221e9213599cb
Author: Christopher Collins <ccoll...@apache.org>
AuthorDate: Wed Feb 12 15:50:23 2020 -0800

    Emit `size` in mfg manifest target entries
    
    MfgManifestTarget.Size was recently added to the artifact library.
---
 go.mod            |  2 +-
 go.sum            |  2 ++
 newt/mfg/build.go | 12 +++++++++++-
 newt/mfg/emit.go  |  3 +++
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/go.mod b/go.mod
index 64e5afd..ad4b839 100644
--- a/go.mod
+++ b/go.mod
@@ -4,7 +4,7 @@ go 1.13
 
 require (
        github.com/NickBall/go-aes-key-wrap v0.0.0-20170929221519-1c3aa3e4dfc5
-       github.com/apache/mynewt-artifact v0.0.15
+       github.com/apache/mynewt-artifact v0.0.16
        github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0
        github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
        github.com/sirupsen/logrus v1.4.2
diff --git a/go.sum b/go.sum
index 03ac25a..c6c41f0 100644
--- a/go.sum
+++ b/go.sum
@@ -15,6 +15,8 @@ github.com/apache/mynewt-artifact v0.0.9 
h1:Pv/nAD50Zvom6YJ5gzQG7M4jsItPA3txSV/5
 github.com/apache/mynewt-artifact v0.0.9/go.mod 
h1:vFUd47t74KPQMzSBhQ2qp5Hc7D29OU/Tl3xHtFwN3k8=
 github.com/apache/mynewt-artifact v0.0.15 
h1:NOAdYAMjVBGVm/4iOs70+oQnb4StlD2tavkvwJiTbhI=
 github.com/apache/mynewt-artifact v0.0.15/go.mod 
h1:vFUd47t74KPQMzSBhQ2qp5Hc7D29OU/Tl3xHtFwN3k8=
+github.com/apache/mynewt-artifact v0.0.16 
h1:MUy07kNuCgZHXqEpJRp3JbZcdT3FkWUW4oiOxf1NW/4=
+github.com/apache/mynewt-artifact v0.0.16/go.mod 
h1:vFUd47t74KPQMzSBhQ2qp5Hc7D29OU/Tl3xHtFwN3k8=
 github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod 
h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod 
h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-etcd v2.0.0+incompatible/go.mod 
h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
diff --git a/newt/mfg/build.go b/newt/mfg/build.go
index bf23219..86e1199 100644
--- a/newt/mfg/build.go
+++ b/newt/mfg/build.go
@@ -48,6 +48,7 @@ type MfgBuildTarget struct {
        Target        *target.Target
        Area          flash.FlashArea
        Offset        int
+       Size          int
        IsBoot        bool
        BinPath       string
        ExtraManifest map[string]interface{}
@@ -229,12 +230,21 @@ func newMfgBuildTarget(dt DecodedTarget,
 
        isBoot := parse.ValueIsTrue(man.Syscfg["BOOT_LOADER"])
 
+       binPath := targetSrcBinPath(t, isBoot)
+
+       st, err := os.Stat(binPath)
+       if err != nil {
+               return MfgBuildTarget{}, errors.Wrapf(err,
+                       "failed to determine size of file \"%s\"", binPath)
+       }
+
        return MfgBuildTarget{
                Target:        t,
                Area:          area,
                Offset:        dt.Offset,
+               Size:          int(st.Size()),
                IsBoot:        isBoot,
-               BinPath:       targetSrcBinPath(t, isBoot),
+               BinPath:       binPath,
                ExtraManifest: dt.ExtraManifest,
        }, nil
 }
diff --git a/newt/mfg/emit.go b/newt/mfg/emit.go
index 0a86b22..7a8068f 100644
--- a/newt/mfg/emit.go
+++ b/newt/mfg/emit.go
@@ -53,6 +53,7 @@ type CpEntry struct {
 type MfgEmitTarget struct {
        Name          string
        Offset        int
+       Size          int
        IsBoot        bool
        BinPath       string
        ElfPath       string
@@ -121,6 +122,7 @@ func newMfgEmitTarget(bt MfgBuildTarget) (MfgEmitTarget, 
error) {
        return MfgEmitTarget{
                Name:    bt.Target.FullName(),
                Offset:  bt.Area.Offset + bt.Offset,
+               Size:    bt.Size,
                IsBoot:  bt.IsBoot,
                BinPath: targetSrcBinPath(bt.Target, bt.IsBoot),
                ElfPath: targetSrcElfPath(bt.Target),
@@ -386,6 +388,7 @@ func (me *MfgEmitter) emitManifest() ([]byte, error) {
                        Name:         t.Name,
                        ManifestPath: MfgTargetManifestPath(me.Name, i),
                        Offset:       t.Offset,
+                       Size:         t.Size,
                        Extra:        t.ExtraManifest,
                }
 

Reply via email to