mirror of
https://shylinux.com/x/icebergs
synced 2025-06-26 18:37:29 +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 ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
RANDOM = "random"
|
||||||
|
)
|
||||||
const PORT = "port"
|
const PORT = "port"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -72,14 +72,15 @@ func _dream_show(m *ice.Message, name string) {
|
|||||||
|
|
||||||
if m.Richs(SPACE, nil, name, nil) == nil {
|
if m.Richs(SPACE, nil, name, nil) == nil {
|
||||||
m.Option(cli.CMD_DIR, p)
|
m.Option(cli.CMD_DIR, p)
|
||||||
|
// m.Conf(cli.RUNTIME, "conf.ctx_dev"),
|
||||||
m.Optionv(cli.CMD_ENV, kit.Simple(
|
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"),
|
"PATH", kit.Path(path.Join(p, "bin"))+":"+kit.Path("bin")+":"+os.Getenv("PATH"),
|
||||||
"USER", ice.Info.UserName, m.Confv(DREAM, "meta.env"),
|
"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.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.Event(DREAM_CREATE, kit.MDB_TYPE, m.Option(kit.MDB_TYPE), kit.MDB_NAME, name)
|
||||||
m.Sleep(ice.MOD_TICK)
|
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") {
|
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")))
|
Render(msg, ice.RENDER_DOWNLOAD, kit.Path(m.Conf(SERVE, "meta.intshell.path"), m.Conf(SERVE, "meta.intshell.index")))
|
||||||
} else {
|
} else {
|
||||||
|
m.Debug("what %v %v", r.URL.Path, ice.BinPack)
|
||||||
if ice.DumpBinPack(w, r.URL.Path, func(name string) { RenderType(w, name, "") }) {
|
if ice.DumpBinPack(w, r.URL.Path, func(name string) { RenderType(w, name, "") }) {
|
||||||
return false
|
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) {
|
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))
|
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)
|
m.Render(ice.RENDER_DOWNLOAD, p)
|
||||||
}
|
}
|
||||||
func _share_proxy(m *ice.Message, arg ...string) {
|
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(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, P_SEARCH, m.Prefix(P_SEARCH))
|
||||||
m.Cmd(mdb.SEARCH, mdb.CREATE, EMAIL, m.Prefix(EMAIL))
|
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_START, m.Prefix(NODE))
|
||||||
m.Watch(web.SPACE_STOP, m.Prefix(NODE))
|
m.Watch(web.SPACE_STOP, m.Prefix(NODE))
|
||||||
m.Load()
|
m.Load()
|
||||||
|
@ -71,8 +71,8 @@ const AUTOGEN = "autogen"
|
|||||||
func init() {
|
func init() {
|
||||||
Index.Merge(&ice.Context{
|
Index.Merge(&ice.Context{
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
AUTOGEN: {Name: "autogen path auto create", Help: "生成", Action: map[string]*ice.Action{
|
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) {
|
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) {
|
if p := path.Join("src", m.Option("name"), m.Option("name")+".shy"); !kit.FileExists(p) {
|
||||||
_autogen_script(m, p)
|
_autogen_script(m, p)
|
||||||
_autogen_source(m, m.Option("name"))
|
_autogen_source(m, m.Option("name"))
|
||||||
@ -85,6 +85,9 @@ func init() {
|
|||||||
m.Cmdy(cli.SYSTEM, "make")
|
m.Cmdy(cli.SYSTEM, "make")
|
||||||
m.Option(ice.MSG_PROCESS, ice.PROCESS_INNER)
|
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) {
|
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case "main":
|
case "main":
|
||||||
|
@ -2,7 +2,6 @@ package code
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
ice "github.com/shylinux/icebergs"
|
ice "github.com/shylinux/icebergs"
|
||||||
"github.com/shylinux/icebergs/base/cli"
|
|
||||||
"github.com/shylinux/icebergs/base/mdb"
|
"github.com/shylinux/icebergs/base/mdb"
|
||||||
"github.com/shylinux/icebergs/base/nfs"
|
"github.com/shylinux/icebergs/base/nfs"
|
||||||
kit "github.com/shylinux/toolkits"
|
kit "github.com/shylinux/toolkits"
|
||||||
@ -14,6 +13,12 @@ import (
|
|||||||
"strings"
|
"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 {
|
func _pack_file(m *ice.Message, file string) string {
|
||||||
list := ""
|
list := ""
|
||||||
if f, e := os.Open(file); e == nil {
|
if f, e := os.Open(file); e == nil {
|
||||||
@ -77,31 +82,31 @@ func init() {
|
|||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
BINPACK: {Name: "binpack path auto create", Help: "打包", Action: map[string]*ice.Action{
|
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) {
|
mdb.CREATE: {Name: "create", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||||
name := kit.Keys(m.Option(kit.MDB_NAME), "go")
|
if pack, p, e := kit.Create("src/binpack.go"); m.Assert(e) {
|
||||||
if pack, p, e := kit.Create(path.Join(m.Conf(PUBLISH, kit.META_PATH), BINPACK, name)); m.Assert(e) {
|
|
||||||
defer pack.Close()
|
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_write(pack, `func init() {`)
|
||||||
pack.WriteString(`func init() {` + "\n")
|
_pack_write(pack, ` ice.BinPack = map[string][]byte{`)
|
||||||
pack.WriteString(` ice.BinPack = map[string][]byte{` + "\n")
|
|
||||||
|
|
||||||
_pack_volcanos(m, pack, "usr/volcanos")
|
_pack_volcanos(m, pack, "usr/volcanos")
|
||||||
_pack_dir(m, pack, "usr/learning")
|
_pack_dir(m, pack, "usr/learning")
|
||||||
_pack_dir(m, pack, "usr/icebergs")
|
// _pack_dir(m, pack, "usr/icebergs")
|
||||||
_pack_dir(m, pack, "usr/toolkits")
|
// _pack_dir(m, pack, "usr/toolkits")
|
||||||
_pack_dir(m, pack, "usr/intshell")
|
// _pack_dir(m, pack, "usr/intshell")
|
||||||
_pack_contexts(m, pack)
|
// _pack_contexts(m, pack)
|
||||||
|
|
||||||
pack.WriteString(` }` + "\n")
|
_pack_write(pack, ` }`)
|
||||||
pack.WriteString(`}` + "\n")
|
_pack_write(pack, `}`)
|
||||||
m.Echo(p)
|
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) {
|
}, 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)))
|
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))
|
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)
|
m.Copy(msg)
|
||||||
return
|
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 {
|
func _task_list(m *ice.Message, zone string, id string) *ice.Message {
|
||||||
if zone == "" {
|
if zone == "" {
|
||||||
m.Option(mdb.FIELDS, "time,zone,count")
|
m.Option(mdb.FIELDS, "time,zone,count")
|
||||||
|
defer func() { m.PushAction(mdb.REMOVE) }()
|
||||||
} else {
|
} else {
|
||||||
m.Option(mdb.FIELDS, kit.Select("begin_time,id,status,level,score,type,name,text", mdb.DETAIL, id != ""))
|
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) {
|
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) {
|
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)
|
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) {
|
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.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)
|
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) {
|
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))
|
_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) {
|
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
||||||
_task_export(m, m.Option(kit.MDB_FILE))
|
_task_export(m, m.Option(kit.MDB_FILE))
|
||||||
}},
|
}},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user