From 83e6775ad4897ea58b3344de6a1c6ebd0666869e Mon Sep 17 00:00:00 2001 From: shaoying Date: Sun, 30 May 2021 00:33:14 +0800 Subject: [PATCH] opt some --- base/cli/system.go | 2 ++ conf.go | 5 ++++- core/code/install.go | 16 +++++++++++----- misc.go | 6 +++++- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/base/cli/system.go b/base/cli/system.go index 471ead8e..db652959 100644 --- a/base/cli/system.go +++ b/base/cli/system.go @@ -27,6 +27,7 @@ func _system_show(m *ice.Message, cmd *exec.Cmd) { if e := cmd.Run(); e != nil { m.Warn(e != nil, ErrRun, strings.Join(cmd.Args, " "), "\n", e.Error()) + m.Push(CMD_ERR, e.Error()) } else { m.Cost("args", cmd.Args, "code", cmd.ProcessState.ExitCode()) } @@ -44,6 +45,7 @@ func _system_show(m *ice.Message, cmd *exec.Cmd) { if e := cmd.Run(); e != nil { m.Warn(e != nil, ErrRun, strings.Join(cmd.Args, " "), "\n", kit.Select(e.Error(), err.String())) + fmt.Fprintf(err, e.Error()) } else { m.Cost("args", cmd.Args, "code", cmd.ProcessState.ExitCode(), "err", err.Len(), "out", out.Len()) } diff --git a/conf.go b/conf.go index 4483b1d0..186dcdd6 100644 --- a/conf.go +++ b/conf.go @@ -17,8 +17,11 @@ const ( // REPOS CONTEXTS = "contexts" INTSHELL = "intshell" - PUBLISH = "publish" REQUIRE = "require" + PUBLISH = "publish" + + SUCCESS = "success" + FAILURE = "failure" ) const ( // DIR USR_VOLCANOS = "usr/volcanos" diff --git a/core/code/install.go b/core/code/install.go index 62170174..e420c9e6 100644 --- a/core/code/install.go +++ b/core/code/install.go @@ -70,26 +70,32 @@ func init() { // 推流 web.PushStream(m) - defer func() { m.Toast("success", "build") }() - defer func() { m.ProcessHold() }() // 配置 switch cb := m.Optionv(PREPARE).(type) { case func(string): cb(p) default: - if m.Cmd(cli.SYSTEM, "./configure", "--prefix="+pp, arg[1:]).Append(cli.CMD_CODE) != "0" { + if msg := m.Cmd(cli.SYSTEM, "./configure", "--prefix="+pp, arg[1:]); msg.Append(cli.CMD_CODE) != "0" { + m.Echo(msg.Append(cli.CMD_ERR)) return } } // 编译 - if m.Cmd(cli.SYSTEM, "make", "-j8").Append(cli.CMD_CODE) != "0" { + if msg := m.Cmd(cli.SYSTEM, "make", "-j8"); msg.Append(cli.CMD_CODE) != "0" { + m.Echo(msg.Append(cli.CMD_ERR)) return } // 安装 - m.Cmd(cli.SYSTEM, "make", "PREFIX="+pp, "install") + if msg := m.Cmd(cli.SYSTEM, "make", "PREFIX="+pp, "install"); msg.Append(cli.CMD_CODE) != "0" { + m.Echo(msg.Append(cli.CMD_ERR)) + return + } + + m.Toast(ice.SUCCESS, gdb.BUILD) + m.ProcessHold() }}, gdb.SPAWN: {Name: "spawn link", Help: "新建", Hand: func(m *ice.Message, arg ...string) { port := m.Cmdx(tcp.PORT, aaa.RIGHT) diff --git a/misc.go b/misc.go index db4908af..9e26d9e3 100644 --- a/misc.go +++ b/misc.go @@ -266,6 +266,10 @@ type Sort struct { } func (m *Message) Toast(content string, arg ...interface{}) { + if m.Option(MSG_USERPOD) == "" { + return + } + if len(arg) > 1 { switch val := arg[1].(type) { case string: @@ -274,7 +278,7 @@ func (m *Message) Toast(content string, arg ...interface{}) { } } } - m.Cmd("web.space", m.Option("_daemon"), "toast", "", content, arg) + m.Cmd("web.space", m.Option(MSG_DAEMON), "toast", "", content, arg) } func (m *Message) GoToast(title string, cb func(toast func(string, int, int))) { m.Go(func() {