forked from x/icebergs
add some
This commit is contained in:
parent
62fb71f333
commit
c959706ba4
@ -43,6 +43,10 @@ func _cat_list(m *ice.Message, p string) {
|
|||||||
list := []string{}
|
list := []string{}
|
||||||
kit.For(f, func(s string, i int) { list = append(list, cb(s, i)) })
|
kit.For(f, func(s string, i int) { list = append(list, cb(s, i)) })
|
||||||
m.Echo(strings.Join(list, ice.NL) + ice.NL)
|
m.Echo(strings.Join(list, ice.NL) + ice.NL)
|
||||||
|
case func([]string, string) string:
|
||||||
|
list := []string{}
|
||||||
|
kit.For(f, func(s string, i int) { list = append(list, cb(kit.Split(s), s)) })
|
||||||
|
m.Echo(strings.Join(list, ice.NL) + ice.NL)
|
||||||
case func(string, int):
|
case func(string, int):
|
||||||
kit.For(f, cb)
|
kit.For(f, cb)
|
||||||
case func(string):
|
case func(string):
|
||||||
|
@ -339,6 +339,9 @@ func init() {
|
|||||||
})
|
})
|
||||||
}).ProcessHold()
|
}).ProcessHold()
|
||||||
}},
|
}},
|
||||||
|
VERSION: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmdy("web.code.version")
|
||||||
|
}},
|
||||||
FOR_FLOW: {Name: "forFlow name cmd*='sh etc/miss.sh'", Help: "流程", Icon: "bi bi-terminal", Hand: func(m *ice.Message, arg ...string) {
|
FOR_FLOW: {Name: "forFlow name cmd*='sh etc/miss.sh'", Help: "流程", Icon: "bi bi-terminal", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Options(ctx.DISPLAY, PLUGIN_XTERM, cli.CMD_OUTPUT, nfs.NewWriteCloser(func(buf []byte) (int, error) {
|
m.Options(ctx.DISPLAY, PLUGIN_XTERM, cli.CMD_OUTPUT, nfs.NewWriteCloser(func(buf []byte) (int, error) {
|
||||||
PushNoticeGrow(m.Options(ice.MSG_COUNT, "0", ice.LOG_DEBUG, ice.FALSE), strings.ReplaceAll(string(buf), lex.NL, "\r\n"))
|
PushNoticeGrow(m.Options(ice.MSG_COUNT, "0", ice.LOG_DEBUG, ice.FALSE), strings.ReplaceAll(string(buf), lex.NL, "\r\n"))
|
||||||
@ -438,7 +441,7 @@ func init() {
|
|||||||
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) || m.IsCliUA() {
|
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) || m.IsCliUA() {
|
||||||
m.Action()
|
m.Action()
|
||||||
} else if cli.SystemFindGo(m) {
|
} else if cli.SystemFindGo(m) {
|
||||||
m.Action(html.FILTER, mdb.CREATE, STARTALL, STOPALL, cli.BUILD, PUBLISH, nfs.FILE)
|
m.Action(html.FILTER, mdb.CREATE, STARTALL, STOPALL, cli.BUILD, PUBLISH, nfs.FILE, VERSION)
|
||||||
} else {
|
} else {
|
||||||
m.Action(html.FILTER, mdb.CREATE, STARTALL, STOPALL)
|
m.Action(html.FILTER, mdb.CREATE, STARTALL, STOPALL)
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,8 @@ const (
|
|||||||
RESIZE = "resize"
|
RESIZE = "resize"
|
||||||
REFRESH = "refresh"
|
REFRESH = "refresh"
|
||||||
FILTER = "filter"
|
FILTER = "filter"
|
||||||
|
|
||||||
|
DANGER = "danger"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -80,9 +80,7 @@ func init() {
|
|||||||
COMPILE: {Hand: func(m *ice.Message, arg ...string) {
|
COMPILE: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
_matrix_cmd(m, "", cli.AMD64, cli.LINUX, ice.SRC_MAIN_GO).ProcessHold()
|
_matrix_cmd(m, "", cli.AMD64, cli.LINUX, ice.SRC_MAIN_GO).ProcessHold()
|
||||||
}},
|
}},
|
||||||
UPGRADE: {Hand: func(m *ice.Message, arg ...string) {
|
UPGRADE: {Hand: func(m *ice.Message, arg ...string) { _matrix_cmd(m, "").ProcessRefresh().Sleep3s() }},
|
||||||
_matrix_cmd(m, "").ProcessRefresh().Sleep3s()
|
|
||||||
}},
|
|
||||||
INSTALL: {Hand: func(m *ice.Message, arg ...string) {
|
INSTALL: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
if kit.IsIn(m.Cmdv(Space(m, m.Option(DOMAIN)), SPIDE, ice.DEV_IP, CLIENT_HOSTNAME), m.Cmd(tcp.HOST).Appendv(aaa.IP)...) {
|
if kit.IsIn(m.Cmdv(Space(m, m.Option(DOMAIN)), SPIDE, ice.DEV_IP, CLIENT_HOSTNAME), m.Cmd(tcp.HOST).Appendv(aaa.IP)...) {
|
||||||
m.Option(nfs.BINARY, S(m.Option(mdb.NAME)))
|
m.Option(nfs.BINARY, S(m.Option(mdb.NAME)))
|
||||||
@ -91,7 +89,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
_matrix_dream(m, mdb.CREATE, kit.Simple(m.OptionSimple(mdb.ICONS, nfs.REPOS, nfs.BINARY))...)
|
_matrix_dream(m, mdb.CREATE, kit.Simple(m.OptionSimple(mdb.ICONS, nfs.REPOS, nfs.BINARY))...)
|
||||||
}},
|
}},
|
||||||
}, ctx.ConfAction(mdb.FIELD, "time,domain,status,type,name,text,icons,repos,binary,module,version")), Hand: func(m *ice.Message, arg ...string) {
|
}, ctx.ConfAction(mdb.FIELD, "time,domain,status,type,name,text,icons,repos,binary,module,version", ctx.TOOLS, kit.Simple(STATUS, VERSION))), Hand: func(m *ice.Message, arg ...string) {
|
||||||
if kit.HasPrefixList(arg, ctx.ACTION) {
|
if kit.HasPrefixList(arg, ctx.ACTION) {
|
||||||
_matrix_action(m, arg[1], arg[2:]...)
|
_matrix_action(m, arg[1], arg[2:]...)
|
||||||
return
|
return
|
||||||
@ -112,6 +110,7 @@ func init() {
|
|||||||
m.StatusTimeCountStats(mdb.TYPE, mdb.STATUS)
|
m.StatusTimeCountStats(mdb.TYPE, mdb.STATUS)
|
||||||
return nil
|
return nil
|
||||||
}).Action(html.FILTER, mdb.CREATE).Display("")
|
}).Action(html.FILTER, mdb.CREATE).Display("")
|
||||||
|
ctx.Toolkit(m)
|
||||||
}},
|
}},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -160,6 +160,7 @@ const (
|
|||||||
BINPACK = "binpack"
|
BINPACK = "binpack"
|
||||||
COMPILE = "compile"
|
COMPILE = "compile"
|
||||||
PUBLISH = "publish"
|
PUBLISH = "publish"
|
||||||
|
VERSION = "version"
|
||||||
UPGRADE = "upgrade"
|
UPGRADE = "upgrade"
|
||||||
INSTALL = "install"
|
INSTALL = "install"
|
||||||
|
|
||||||
|
@ -12,7 +12,8 @@ var Index = &ice.Context{Name: CODE, Help: "编程中心"}
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
web.Index.Register(Index, &web.Frame{},
|
web.Index.Register(Index, &web.Frame{},
|
||||||
WEBPACK, BINPACK, AUTOGEN, COMPILE, PUBLISH, UPGRADE, INSTALL,
|
WEBPACK, BINPACK, AUTOGEN, VERSION,
|
||||||
|
COMPILE, PUBLISH, UPGRADE, INSTALL,
|
||||||
XTERM, INNER, VIMER, BENCH, PPROF,
|
XTERM, INNER, VIMER, BENCH, PPROF,
|
||||||
TEMPLATE, COMPLETE, NAVIGATE,
|
TEMPLATE, COMPLETE, NAVIGATE,
|
||||||
)
|
)
|
||||||
|
95
core/code/version.go
Normal file
95
core/code/version.go
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
package code
|
||||||
|
|
||||||
|
import (
|
||||||
|
"path"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
ice "shylinux.com/x/icebergs"
|
||||||
|
"shylinux.com/x/icebergs/base/cli"
|
||||||
|
"shylinux.com/x/icebergs/base/lex"
|
||||||
|
"shylinux.com/x/icebergs/base/mdb"
|
||||||
|
"shylinux.com/x/icebergs/base/nfs"
|
||||||
|
"shylinux.com/x/icebergs/base/web"
|
||||||
|
"shylinux.com/x/icebergs/base/web/html"
|
||||||
|
kit "shylinux.com/x/toolkits"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Index.MergeCommands(ice.Commands{
|
||||||
|
VERSION: {Name: "version refresh", Help: "版本", Actions: ice.MergeActions(ice.Actions{
|
||||||
|
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
ls := kit.Split(kit.Split(strings.TrimPrefix(m.Option(VERSION), "v"), "-")[0], ".")
|
||||||
|
if len(ls) > 2 {
|
||||||
|
m.Push(arg[0], kit.Format("v%d.%d.%d", kit.Int(ls[0]), kit.Int(ls[1]), kit.Int(ls[2])+1))
|
||||||
|
m.Push(arg[0], kit.Format("v%d.%d.%d", kit.Int(ls[0]), kit.Int(ls[1])+1, 0))
|
||||||
|
m.Push(arg[0], kit.Format("v%d.%d.%d", kit.Int(ls[0])+1, 0, 0))
|
||||||
|
} else {
|
||||||
|
m.Push(arg[0], "v0.0.1")
|
||||||
|
}
|
||||||
|
}},
|
||||||
|
"sync": {Help: "同步", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
repos := map[string]string{}
|
||||||
|
m.Cmd("web.code.mod", mdb.RENDER, MOD, ice.GO_MOD, nfs.PWD).Table(func(value ice.Maps) { repos[value[REQUIRE]] = value[VERSION] })
|
||||||
|
res := m.Cmdx(nfs.CAT, path.Join(nfs.USR_LOCAL_WORK, m.Option(SPACE), ice.GO_MOD), func(ls []string, text string) string {
|
||||||
|
if len(ls) == 2 {
|
||||||
|
if v, ok := repos[ls[0]]; ok {
|
||||||
|
text = lex.TB + ls[0] + lex.SP + v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return text
|
||||||
|
})
|
||||||
|
m.Cmd(nfs.SAVE, path.Join(nfs.USR_LOCAL_WORK, m.Option(SPACE), ice.GO_MOD), res)
|
||||||
|
m.Cmd(SPACE, m.Option(SPACE), cli.SYSTEM, GO, MOD, "tidy")
|
||||||
|
}},
|
||||||
|
"add": {Name: "add version", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
}},
|
||||||
|
}), Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
repos := map[string]string{}
|
||||||
|
list := map[string]map[string]string{}
|
||||||
|
list[ice.Info.Pathname] = map[string]string{}
|
||||||
|
m.Cmd("web.code.mod", mdb.RENDER, MOD, ice.GO_MOD, nfs.PWD).Table(func(value ice.Maps) {
|
||||||
|
list[ice.Info.Pathname][value[REQUIRE]] = value[VERSION]
|
||||||
|
if value[REPLACE] == nfs.PWD {
|
||||||
|
list[ice.Info.Pathname][MODULE] = value[REQUIRE]
|
||||||
|
list[ice.Info.Pathname][VERSION] = value[VERSION]
|
||||||
|
} else {
|
||||||
|
repos[value[REQUIRE]] = value[VERSION]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
web.DreamEach(m, m.Option(mdb.NAME), "", func(name string) {
|
||||||
|
list[name] = map[string]string{}
|
||||||
|
m.Cmd(web.SPACE, name, "web.code.mod", mdb.RENDER, MOD, ice.GO_MOD, nfs.PWD).Table(func(value ice.Maps) {
|
||||||
|
if value[REPLACE] == nfs.PWD {
|
||||||
|
list[name][MODULE] = value[REQUIRE]
|
||||||
|
list[name][VERSION] = value[VERSION]
|
||||||
|
} else {
|
||||||
|
list[name][value[REQUIRE]] = value[VERSION]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
list[name]["diff"] = kit.ReplaceAll(m.Cmdx(web.SPACE, name, cli.SYSTEM, "git", "diff", "--shortstat"), " changed", "", "tions", "")
|
||||||
|
})
|
||||||
|
for space, v := range list {
|
||||||
|
diff := false
|
||||||
|
m.Push(web.SPACE, space)
|
||||||
|
m.Push(MODULE, list[space][MODULE])
|
||||||
|
m.Push(VERSION, list[space][VERSION])
|
||||||
|
kit.For(repos, func(k, _v string) {
|
||||||
|
m.Push(k, v[k])
|
||||||
|
kit.If(v[k] != "" && v[k] != _v, func() { diff = true })
|
||||||
|
})
|
||||||
|
m.Push("diff", list[space]["diff"])
|
||||||
|
if diff {
|
||||||
|
m.Push(mdb.STATUS, html.DANGER).PushButton("sync", "add")
|
||||||
|
} else {
|
||||||
|
if strings.Contains(m.Option(VERSION), "-") {
|
||||||
|
m.Push(mdb.STATUS, "").PushButton("add")
|
||||||
|
} else {
|
||||||
|
m.Push(mdb.STATUS, "").PushButton("")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.Sort(web.SPACE, ice.STR_R)
|
||||||
|
}},
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user