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, }