You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2016/10/18 22:08:44 UTC
[1/2] incubator-mynewt-newt git commit: newt - Allow syscfg.vals to
be set; "target set"
Repository: incubator-mynewt-newt
Updated Branches:
refs/heads/develop 1a8b9b727 -> 0558d537a
newt - Allow syscfg.vals to be set; "target set"
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/commit/0558d537
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/tree/0558d537
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/diff/0558d537
Branch: refs/heads/develop
Commit: 0558d537ac0b2089169d8fb7710f8a3fab8136c3
Parents: 823c05c
Author: Christopher Collins <cc...@apache.org>
Authored: Tue Oct 18 15:08:09 2016 -0700
Committer: Christopher Collins <cc...@apache.org>
Committed: Tue Oct 18 15:08:35 2016 -0700
----------------------------------------------------------------------
newt/cli/target_cmds.go | 57 ++++++++++++++++++++++++++++++++++++++++---
newt/pkg/localpackage.go | 37 ++++++++++++++++++++++++++++
newt/target/target.go | 4 +++
3 files changed, 94 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0558d537/newt/cli/target_cmds.go
----------------------------------------------------------------------
diff --git a/newt/cli/target_cmds.go b/newt/cli/target_cmds.go
index e325713..4050639 100644
--- a/newt/cli/target_cmds.go
+++ b/newt/cli/target_cmds.go
@@ -36,6 +36,7 @@ import (
"mynewt.apache.org/newt/newt/syscfg"
"mynewt.apache.org/newt/newt/target"
"mynewt.apache.org/newt/util"
+ "mynewt.apache.org/newt/viper"
)
var targetForce bool = false
@@ -122,8 +123,8 @@ func targetShowCmd(cmd *cobra.Command, args []string) {
}
// A few variables come from the base package rather than the target.
- kvPairs["features"] = pkgVarSliceString(target.Package(),
- "pkg.features")
+ kvPairs["syscfg"] = targetSyscfgKVToStr(
+ target.Package().SyscfgV.GetStringMapString("syscfg.vals"))
kvPairs["cflags"] = pkgVarSliceString(target.Package(), "pkg.cflags")
kvPairs["lflags"] = pkgVarSliceString(target.Package(), "pkg.lflags")
kvPairs["aflags"] = pkgVarSliceString(target.Package(), "pkg.aflags")
@@ -143,6 +144,51 @@ func targetShowCmd(cmd *cobra.Command, args []string) {
}
}
+func targetSyscfgKVFromStr(str string) map[string]string {
+ vals := map[string]string{}
+
+ if strings.TrimSpace(str) == "" {
+ return vals
+ }
+
+ // Separate syscfg vals are delimited by ':'.
+ fields := strings.Split(str, ":")
+
+ // Key-value pairs are delimited by '='. If no '=' is present, assume the
+ // string is the key name and the value is 1.
+ for _, f := range fields {
+ kv := strings.SplitN(f, "=", 2)
+ switch len(kv) {
+ case 1:
+ vals[f] = "1"
+ case 2:
+ vals[kv[0]] = kv[1]
+ }
+ }
+
+ return vals
+}
+
+func targetSyscfgKVToStr(syscfgKv map[string]string) string {
+ str := ""
+
+ names := make([]string, 0, len(syscfgKv))
+ for k, _ := range syscfgKv {
+ names = append(names, k)
+ }
+ sort.Strings(names)
+
+ for i, name := range names {
+ if i != 0 {
+ str += ":"
+ }
+
+ str += fmt.Sprintf("%s=%s", name, syscfgKv[name])
+ }
+
+ return str
+}
+
func targetSetCmd(cmd *cobra.Command, args []string) {
if len(args) < 2 {
NewtUsage(cmd,
@@ -185,8 +231,11 @@ func targetSetCmd(cmd *cobra.Command, args []string) {
for _, kv := range vars {
// A few variables are special cases; they get set in the base package
// instead of the target.
- if kv[0] == "target.features" ||
- kv[0] == "target.cflags" ||
+ if kv[0] == "target.syscfg" {
+ t.Package().SyscfgV = viper.New()
+ kv := targetSyscfgKVFromStr(kv[1])
+ t.Package().SyscfgV.Set("syscfg.vals", kv)
+ } else if kv[0] == "target.cflags" ||
kv[0] == "target.lflags" ||
kv[0] == "target.aflags" {
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0558d537/newt/pkg/localpackage.go
----------------------------------------------------------------------
diff --git a/newt/pkg/localpackage.go b/newt/pkg/localpackage.go
index 755a477..3e8e325 100644
--- a/newt/pkg/localpackage.go
+++ b/newt/pkg/localpackage.go
@@ -26,6 +26,7 @@ import (
"io/ioutil"
"os"
"path/filepath"
+ "sort"
"strings"
log "github.com/Sirupsen/logrus"
@@ -231,6 +232,42 @@ func (pkg *LocalPackage) sequenceString(key string) string {
}
}
+func (lpkg *LocalPackage) SaveSyscfgVals() error {
+ dirpath := lpkg.BasePath()
+ if err := os.MkdirAll(dirpath, 0755); err != nil {
+ return util.NewNewtError(err.Error())
+ }
+
+ filepath := dirpath + "/" + SYSCFG_YAML_FILENAME
+
+ syscfgVals := lpkg.SyscfgV.GetStringMapString("syscfg.vals")
+ if syscfgVals == nil || len(syscfgVals) == 0 {
+ os.Remove(filepath)
+ return nil
+ }
+
+ file, err := os.Create(filepath)
+ if err != nil {
+ return util.NewNewtError(err.Error())
+ }
+ defer file.Close()
+
+ names := make([]string, 0, len(syscfgVals))
+ for k, _ := range syscfgVals {
+ names = append(names, k)
+ }
+ sort.Strings(names)
+
+ fmt.Fprintf(file, "### Package: %s\n", lpkg.Name())
+ fmt.Fprintf(file, "\n")
+ fmt.Fprintf(file, "syscfg.vals:\n")
+ for _, name := range names {
+ fmt.Fprintf(file, " %s: %s\n", name, syscfgVals[name])
+ }
+
+ return nil
+}
+
// Saves the package's pkg.yml file.
// NOTE: This does not save every field in the package. Only the fields
// necessary for creating a new target get saved.
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0558d537/newt/target/target.go
----------------------------------------------------------------------
diff --git a/newt/target/target.go b/newt/target/target.go
index 00d3e72..26ca4cf 100644
--- a/newt/target/target.go
+++ b/newt/target/target.go
@@ -250,6 +250,10 @@ func (t *Target) Save() error {
file.WriteString(k + ": " + yaml.EscapeString(t.Vars[k]) + "\n")
}
+ if err := t.basePkg.SaveSyscfgVals(); err != nil {
+ return err
+ }
+
return nil
}
[2/2] incubator-mynewt-newt git commit: newtmgr - Remove underscore
in identifier.
Posted by cc...@apache.org.
newtmgr - Remove underscore in identifier.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/commit/823c05c0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/tree/823c05c0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/diff/823c05c0
Branch: refs/heads/develop
Commit: 823c05c0b2851b89e70b7cb9f57d0ddff3f66740
Parents: 1a8b9b7
Author: Christopher Collins <cc...@apache.org>
Authored: Thu Oct 13 15:15:41 2016 -0700
Committer: Christopher Collins <cc...@apache.org>
Committed: Tue Oct 18 15:08:35 2016 -0700
----------------------------------------------------------------------
newtmgr/cli/image.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/823c05c0/newtmgr/cli/image.go
----------------------------------------------------------------------
diff --git a/newtmgr/cli/image.go b/newtmgr/cli/image.go
index 67a8b8b..c8ca761 100644
--- a/newtmgr/cli/image.go
+++ b/newtmgr/cli/image.go
@@ -123,14 +123,14 @@ func imageStateTestCmd(cmd *cobra.Command, args []string) {
nmUsage(cmd, nil)
}
- hex_bytes, _ := hex.DecodeString(args[0])
+ hexBytes, _ := hex.DecodeString(args[0])
req, err := protocol.NewImageStateWriteReq()
if err != nil {
nmUsage(nil, err)
}
- req.Hash = hex_bytes
+ req.Hash = hexBytes
req.Confirm = false
nmr, err := req.Encode()