mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 01:24:05 +08:00
opt autogen
This commit is contained in:
parent
486eca1144
commit
6d993365a3
@ -45,6 +45,9 @@ func _port_right(m *ice.Message, begin string) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
const (
|
||||
RANDOM = "random"
|
||||
)
|
||||
const PORT = "port"
|
||||
|
||||
func init() {
|
||||
|
@ -72,14 +72,15 @@ func _dream_show(m *ice.Message, name string) {
|
||||
|
||||
if m.Richs(SPACE, nil, name, nil) == nil {
|
||||
m.Option(cli.CMD_DIR, p)
|
||||
// m.Conf(cli.RUNTIME, "conf.ctx_dev"),
|
||||
m.Optionv(cli.CMD_ENV, kit.Simple(
|
||||
"ctx_dev", m.Conf(cli.RUNTIME, "conf.ctx_dev"),
|
||||
"ctx_dev", strings.Split(m.Option(ice.MSG_USERWEB), "?")[0],
|
||||
"PATH", kit.Path(path.Join(p, "bin"))+":"+kit.Path("bin")+":"+os.Getenv("PATH"),
|
||||
"USER", ice.Info.UserName, m.Confv(DREAM, "meta.env"),
|
||||
))
|
||||
// 启动任务
|
||||
m.Optionv(cli.CMD_STDERR, path.Join(p, m.Conf(DREAM, "meta.env.ctx_log")))
|
||||
m.Cmd(cli.DAEMON, m.Confv(DREAM, "meta.cmd"), SPIDE_DEV, SPIDE_SELF, kit.MDB_NAME, name)
|
||||
m.Cmd(cli.DAEMON, m.Confv(DREAM, "meta.cmd"), SPIDE_DEV, SPIDE_DEV, kit.MDB_NAME, name)
|
||||
m.Event(DREAM_CREATE, kit.MDB_TYPE, m.Option(kit.MDB_TYPE), kit.MDB_NAME, name)
|
||||
m.Sleep(ice.MOD_TICK)
|
||||
}
|
||||
|
@ -61,6 +61,7 @@ func _serve_main(m *ice.Message, w http.ResponseWriter, r *http.Request) bool {
|
||||
if msg.W, msg.R = w, r; strings.Contains(r.Header.Get("User-Agent"), "curl") {
|
||||
Render(msg, ice.RENDER_DOWNLOAD, kit.Path(m.Conf(SERVE, "meta.intshell.path"), m.Conf(SERVE, "meta.intshell.index")))
|
||||
} else {
|
||||
m.Debug("what %v %v", r.URL.Path, ice.BinPack)
|
||||
if ice.DumpBinPack(w, r.URL.Path, func(name string) { RenderType(w, name, "") }) {
|
||||
return false
|
||||
}
|
||||
@ -228,7 +229,7 @@ func init() {
|
||||
}
|
||||
}},
|
||||
tcp.START: {Name: "start dev= name=self proto=http host= port=9020", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
||||
if cli.NodeInfo(m, SERVER, ice.Info.HostName); m.Option(tcp.PORT) == "random" {
|
||||
if cli.NodeInfo(m, SERVER, ice.Info.HostName); m.Option(tcp.PORT) == tcp.RANDOM {
|
||||
m.Option(tcp.PORT, m.Cmdx(tcp.PORT, aaa.RIGHT))
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,12 @@ func _share_local(m *ice.Message, arg ...string) {
|
||||
}
|
||||
}
|
||||
|
||||
if p == "usr/publish/order.js" {
|
||||
if _, e := os.Stat(p); os.IsNotExist(e) {
|
||||
m.Render(ice.RENDER_RESULT, "")
|
||||
return
|
||||
}
|
||||
}
|
||||
m.Render(ice.RENDER_DOWNLOAD, p)
|
||||
}
|
||||
func _share_proxy(m *ice.Message, arg ...string) {
|
||||
|
@ -16,6 +16,7 @@ var Index = &ice.Context{Name: CHAT, Help: "聊天中心",
|
||||
m.Cmd(web.SERVE, aaa.WHITE, HEADER, RIVER, ACTION, FOOTER)
|
||||
m.Cmd(mdb.SEARCH, mdb.CREATE, P_SEARCH, m.Prefix(P_SEARCH))
|
||||
m.Cmd(mdb.SEARCH, mdb.CREATE, EMAIL, m.Prefix(EMAIL))
|
||||
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, "usr/publish")
|
||||
m.Watch(web.SPACE_START, m.Prefix(NODE))
|
||||
m.Watch(web.SPACE_STOP, m.Prefix(NODE))
|
||||
m.Load()
|
||||
|
@ -71,8 +71,8 @@ const AUTOGEN = "autogen"
|
||||
func init() {
|
||||
Index.Merge(&ice.Context{
|
||||
Commands: map[string]*ice.Command{
|
||||
AUTOGEN: {Name: "autogen path auto create", Help: "生成", Action: map[string]*ice.Action{
|
||||
mdb.CREATE: {Name: "create main=src/main.go@key name=hi@key from=usr/icebergs/misc/bash/bash.go@key", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||
AUTOGEN: {Name: "autogen path auto create binpack", Help: "生成", Action: map[string]*ice.Action{
|
||||
mdb.CREATE: {Name: "create main=src/main.go@key name=hi@key from=usr/icebergs/misc/bash/bash.go@key", Help: "模块", Hand: func(m *ice.Message, arg ...string) {
|
||||
if p := path.Join("src", m.Option("name"), m.Option("name")+".shy"); !kit.FileExists(p) {
|
||||
_autogen_script(m, p)
|
||||
_autogen_source(m, m.Option("name"))
|
||||
@ -85,6 +85,9 @@ func init() {
|
||||
m.Cmdy(cli.SYSTEM, "make")
|
||||
m.Option(ice.MSG_PROCESS, ice.PROCESS_INNER)
|
||||
}},
|
||||
BINPACK: {Name: "binpack", Help: "打包", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(BINPACK, mdb.CREATE)
|
||||
}},
|
||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||
switch arg[0] {
|
||||
case "main":
|
||||
|
@ -2,7 +2,6 @@ package code
|
||||
|
||||
import (
|
||||
ice "github.com/shylinux/icebergs"
|
||||
"github.com/shylinux/icebergs/base/cli"
|
||||
"github.com/shylinux/icebergs/base/mdb"
|
||||
"github.com/shylinux/icebergs/base/nfs"
|
||||
kit "github.com/shylinux/toolkits"
|
||||
@ -14,6 +13,12 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
func _pack_write(o *os.File, arg ...string) {
|
||||
for _, v := range arg {
|
||||
o.WriteString(v)
|
||||
}
|
||||
o.WriteString("\n")
|
||||
}
|
||||
func _pack_file(m *ice.Message, file string) string {
|
||||
list := ""
|
||||
if f, e := os.Open(file); e == nil {
|
||||
@ -77,31 +82,31 @@ func init() {
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
BINPACK: {Name: "binpack path auto create", Help: "打包", Action: map[string]*ice.Action{
|
||||
mdb.CREATE: {Name: "create name=demo from=src/main.go", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||
name := kit.Keys(m.Option(kit.MDB_NAME), "go")
|
||||
if pack, p, e := kit.Create(path.Join(m.Conf(PUBLISH, kit.META_PATH), BINPACK, name)); m.Assert(e) {
|
||||
mdb.CREATE: {Name: "create", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||
if pack, p, e := kit.Create("src/binpack.go"); m.Assert(e) {
|
||||
defer pack.Close()
|
||||
|
||||
pack.WriteString(m.Cmdx(nfs.CAT, m.Option("from")))
|
||||
_pack_write(pack, `package main`)
|
||||
_pack_write(pack, "")
|
||||
_pack_write(pack, `import (`)
|
||||
_pack_write(pack, ` ice "github.com/shylinux/icebergs"`)
|
||||
_pack_write(pack, `)`)
|
||||
_pack_write(pack, "")
|
||||
|
||||
pack.WriteString("\n")
|
||||
pack.WriteString(`func init() {` + "\n")
|
||||
pack.WriteString(` ice.BinPack = map[string][]byte{` + "\n")
|
||||
_pack_write(pack, `func init() {`)
|
||||
_pack_write(pack, ` ice.BinPack = map[string][]byte{`)
|
||||
|
||||
_pack_volcanos(m, pack, "usr/volcanos")
|
||||
_pack_dir(m, pack, "usr/learning")
|
||||
_pack_dir(m, pack, "usr/icebergs")
|
||||
_pack_dir(m, pack, "usr/toolkits")
|
||||
_pack_dir(m, pack, "usr/intshell")
|
||||
_pack_contexts(m, pack)
|
||||
// _pack_dir(m, pack, "usr/icebergs")
|
||||
// _pack_dir(m, pack, "usr/toolkits")
|
||||
// _pack_dir(m, pack, "usr/intshell")
|
||||
// _pack_contexts(m, pack)
|
||||
|
||||
pack.WriteString(` }` + "\n")
|
||||
pack.WriteString(`}` + "\n")
|
||||
_pack_write(pack, ` }`)
|
||||
_pack_write(pack, `}`)
|
||||
m.Echo(p)
|
||||
}
|
||||
|
||||
m.Option(cli.CMD_DIR, path.Join(m.Conf(PUBLISH, kit.META_PATH), BINPACK))
|
||||
m.Cmd(COMPILE, name)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option(nfs.DIR_ROOT, path.Join(m.Conf(PUBLISH, kit.META_PATH)))
|
||||
|
@ -56,7 +56,7 @@ func init() {
|
||||
|
||||
// 编译参数
|
||||
m.Optionv(cli.CMD_ENV, kit.Simple(m.Confv(COMPILE, "meta.env"), "GOARCH", arch, "GOOS", goos))
|
||||
if msg := m.Cmd(cli.SYSTEM, m.Confv(COMPILE, "meta.go"), "-o", file, main, "src/version.go"); msg.Append(cli.CMD_CODE) != "0" {
|
||||
if msg := m.Cmd(cli.SYSTEM, m.Confv(COMPILE, "meta.go"), "-o", file, main, "src/version.go", "src/binpack.go"); msg.Append(cli.CMD_CODE) != "0" {
|
||||
m.Copy(msg)
|
||||
return
|
||||
}
|
||||
|
@ -61,6 +61,7 @@ func _task_action(m *ice.Message, status interface{}, action ...string) string {
|
||||
func _task_list(m *ice.Message, zone string, id string) *ice.Message {
|
||||
if zone == "" {
|
||||
m.Option(mdb.FIELDS, "time,zone,count")
|
||||
defer func() { m.PushAction(mdb.REMOVE) }()
|
||||
} else {
|
||||
m.Option(mdb.FIELDS, kit.Select("begin_time,id,status,level,score,type,name,text", mdb.DETAIL, id != ""))
|
||||
defer m.Table(func(index int, value map[string]string, head []string) {
|
||||
@ -93,6 +94,9 @@ func _task_modify(m *ice.Message, zone, id, field, value string, arg ...string)
|
||||
func _task_delete(m *ice.Message, zone, id string) {
|
||||
m.Cmdy(mdb.MODIFY, TASK, _sub_key(m, zone), mdb.LIST, kit.MDB_ID, id, TaskField.STATUS, TaskStatus.CANCEL)
|
||||
}
|
||||
func _task_remove(m *ice.Message, zone string) {
|
||||
m.Cmdy(mdb.DELETE, TASK, "", mdb.HASH, kit.MDB_ZONE, zone)
|
||||
}
|
||||
func _task_export(m *ice.Message, file string) {
|
||||
m.Option(mdb.FIELDS, "zone,id,time,type,name,text,level,status,score,begin_time,close_time,extra")
|
||||
m.Cmdy(mdb.EXPORT, TASK, "", mdb.ZONE, file)
|
||||
@ -194,6 +198,9 @@ func init() {
|
||||
mdb.DELETE: {Name: "delete", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
_task_delete(m, m.Option(kit.MDB_ZONE), m.Option(kit.MDB_ID))
|
||||
}},
|
||||
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
_task_remove(m, m.Option(kit.MDB_ZONE))
|
||||
}},
|
||||
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
||||
_task_export(m, m.Option(kit.MDB_FILE))
|
||||
}},
|
||||
|
Loading…
x
Reference in New Issue
Block a user