review
This commit is contained in:
parent
f26648abfd
commit
f48415d46a
|
@ -6,27 +6,27 @@ export interface Crc {
|
||||||
|
|
||||||
|
|
||||||
export interface StatusReply {
|
export interface StatusReply {
|
||||||
status?: number;
|
status?: number; // 状态码
|
||||||
identity?: string;
|
identity?: string; // 标识码
|
||||||
message?: string;
|
message?: string; // 状态说明
|
||||||
timeseq?: number;
|
timeseq?: number; // 响应时间序列
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export interface CheckForUpdatesRequest {
|
export interface CheckForUpdatesRequest {
|
||||||
app?: string;
|
app?: string; // 应用程序名称 <必填>
|
||||||
os?: string;
|
os?: string; // 操作系统 <必填>
|
||||||
arch?: string;
|
arch?: string; // 构架名称 <必填>
|
||||||
version?: string;
|
version?: string; // 版本号 <必填>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export interface CheckForUpdatesReply {
|
export interface CheckForUpdatesReply {
|
||||||
identity?: string;
|
identity?: string; // 唯一码
|
||||||
version?: string;
|
version?: string; // 版本号
|
||||||
summary?: string;
|
summary?: string; // 更析说明
|
||||||
files?: string;
|
files?: string; // 更新文件以及文件hash
|
||||||
pubdate?: string;
|
pubdate?: string; // 发布时间
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,21 +36,21 @@ export interface Empty {
|
||||||
|
|
||||||
|
|
||||||
export interface ConfigureRequest {
|
export interface ConfigureRequest {
|
||||||
app?: string;
|
app?: string; // 应用程序名称 <必填>
|
||||||
os?: string;
|
os?: string; // 操作系统 <必填>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export interface ConfigureReply {
|
export interface ConfigureReply {
|
||||||
data?: ConfigureItem[];
|
data?: ConfigureItem[]; // 配置参数列表
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export interface ConfigureItem {
|
export interface ConfigureItem {
|
||||||
Identity?: string;
|
Identity?: string; // 唯一标识
|
||||||
key?: string;
|
key?: string; // 配置键
|
||||||
value?: string;
|
value?: string; // 配置值
|
||||||
version?: number;
|
version?: number; // 版本号
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
66
cli/main.go
66
cli/main.go
|
@ -1,7 +1,6 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
@ -9,7 +8,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"git.apinb.com/bsm-sdk/engine/utils"
|
"git.apinb.com/bsm-sdk/engine/utils"
|
||||||
"github.com/tallstoat/pbparser"
|
"github.com/jhump/protoreflect/desc"
|
||||||
|
"github.com/jhump/protoreflect/desc/protoparse"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -41,7 +41,8 @@ func getSubDirs(root string) []string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseProtos(root, dir string) {
|
func parseProtos(root, dir string) {
|
||||||
var msg []pbparser.MessageElement
|
//var msg []pbparser.MessageElement
|
||||||
|
var mess []*desc.MessageDescriptor
|
||||||
|
|
||||||
fPath := path.Join(root, dir)
|
fPath := path.Join(root, dir)
|
||||||
tsPath := path.Join(jsPath, dir)
|
tsPath := path.Join(jsPath, dir)
|
||||||
|
@ -52,24 +53,28 @@ func parseProtos(root, dir string) {
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
pfPath := filepath.Join(fPath, file.Name())
|
pfPath := filepath.Join(fPath, file.Name())
|
||||||
pb, err := pbparser.ParseFile(pfPath)
|
|
||||||
|
Parser := protoparse.Parser{
|
||||||
|
IncludeSourceCodeInfo: true,
|
||||||
|
}
|
||||||
|
descs, err := Parser.ParseFiles(pfPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
msg = append(msg, pb.Messages...)
|
mess = append(mess, descs[0].GetMessageTypes()...)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
writeTypes(tsPath, msg)
|
writeMessageTypes(tsPath, mess)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeSrvs(fileName string) {
|
func writeSrvs(fileName string) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeTypes(tsPath string, msg []pbparser.MessageElement) {
|
func writeMessageTypes(tsPath string, msg []*desc.MessageDescriptor) {
|
||||||
tpl := `
|
tpl := `
|
||||||
{{Commit}}
|
{{Commit}}
|
||||||
export interface {{Name}} {
|
export interface {{Name}} {
|
||||||
|
@ -83,15 +88,18 @@ export interface {{Name}} {
|
||||||
var data []string
|
var data []string
|
||||||
var msgBody = tpl
|
var msgBody = tpl
|
||||||
|
|
||||||
for _, fd := range msgItem.Fields {
|
for _, fd := range msgItem.GetFields() {
|
||||||
data = append(data, dispFields(fd))
|
data = append(data, dispFields(fd))
|
||||||
}
|
}
|
||||||
|
|
||||||
keyFname := strings.ToLower(msgItem.Name)
|
keyFname := strings.ToLower(msgItem.GetName())
|
||||||
if _, ok := keyMap[keyFname]; !ok {
|
if _, ok := keyMap[keyFname]; !ok {
|
||||||
|
var commit string = ""
|
||||||
msgBody = strings.ReplaceAll(msgBody, "{{Commit}}", msgItem.Documentation)
|
if msgItem.GetSourceInfo().GetLeadingComments() != "" {
|
||||||
msgBody = strings.ReplaceAll(msgBody, "{{Name}}", msgItem.Name)
|
commit = msgItem.GetSourceInfo().GetLeadingComments()
|
||||||
|
}
|
||||||
|
msgBody = strings.ReplaceAll(msgBody, "{{Commit}}", commit)
|
||||||
|
msgBody = strings.ReplaceAll(msgBody, "{{Name}}", msgItem.GetName())
|
||||||
msgBody = strings.ReplaceAll(msgBody, "{{Data}}", strings.Join(data, "\r\n"))
|
msgBody = strings.ReplaceAll(msgBody, "{{Data}}", strings.Join(data, "\r\n"))
|
||||||
|
|
||||||
bodys = append(bodys, msgBody)
|
bodys = append(bodys, msgBody)
|
||||||
|
@ -104,39 +112,47 @@ export interface {{Name}} {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func dispFields(fd pbparser.FieldElement) string {
|
func dispFields(fd *desc.FieldDescriptor) string {
|
||||||
tpl := " {{Name}}?: {{Type}}; {{Commit}}"
|
tpl := " {{Name}}?: {{Type}}; {{Commit}}"
|
||||||
|
|
||||||
name := strings.Trim(fd.Name, "")
|
name := strings.Trim(fd.GetName(), "")
|
||||||
name = strings.ReplaceAll(name, "\t", "")
|
name = strings.ReplaceAll(name, "\t", "")
|
||||||
tpl = strings.ReplaceAll(tpl, "{{Name}}", name)
|
tpl = strings.ReplaceAll(tpl, "{{Name}}", name)
|
||||||
|
|
||||||
jsonByte, _ := json.Marshal(fd)
|
var commit string = ""
|
||||||
fmt.Println(string(jsonByte))
|
if fd.GetSourceInfo().GetLeadingComments() != "" {
|
||||||
|
commit = commit + fd.GetSourceInfo().GetLeadingComments() + " "
|
||||||
|
}
|
||||||
|
|
||||||
if fd.Documentation == "" {
|
if fd.GetSourceInfo().GetTrailingComments() != "" {
|
||||||
|
commit = commit + fd.GetSourceInfo().GetTrailingComments() + " "
|
||||||
|
}
|
||||||
|
|
||||||
|
if commit == "" {
|
||||||
tpl = strings.ReplaceAll(tpl, "{{Commit}}", "")
|
tpl = strings.ReplaceAll(tpl, "{{Commit}}", "")
|
||||||
} else {
|
} else {
|
||||||
tpl = strings.ReplaceAll(tpl, "{{Commit}}", " // "+fd.Documentation)
|
tpl = strings.ReplaceAll(tpl, "{{Commit}}", " // "+commit)
|
||||||
}
|
}
|
||||||
|
|
||||||
var fdType string = ""
|
var fdType string = ""
|
||||||
switch fd.Type.Name() {
|
switch fd.GetType().String() {
|
||||||
case "string":
|
case "TYPE_STRING":
|
||||||
fdType = "string"
|
fdType = "string"
|
||||||
case "int32", "int64", "float":
|
case "TYPE_INT64", "TYPE_INT32", "TYPE_FLOAT32", "TYPE_FLOAT64":
|
||||||
fdType = "number"
|
fdType = "number"
|
||||||
case "bool":
|
case "bool":
|
||||||
fdType = "bool"
|
fdType = "TYPE_BOOL"
|
||||||
default:
|
default:
|
||||||
if fd.Label == "repeated" {
|
if fd.GetLabel().String() == "LABEL_REPEATED" {
|
||||||
fdType = fd.Type.Name() + "[]"
|
fdType = fd.GetMessageType().GetName() + "[]"
|
||||||
} else {
|
} else {
|
||||||
fdType = fd.Type.Name()
|
fdType = fd.GetType().String()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tpl = strings.ReplaceAll(tpl, "{{Type}}", fdType)
|
tpl = strings.ReplaceAll(tpl, "{{Type}}", fdType)
|
||||||
|
|
||||||
|
tpl = strings.ReplaceAll(tpl, "\r\n", "")
|
||||||
|
|
||||||
return tpl
|
return tpl
|
||||||
}
|
}
|
||||||
|
|
8
go.mod
8
go.mod
|
@ -7,7 +7,15 @@ require (
|
||||||
github.com/tallstoat/pbparser v0.2.0
|
github.com/tallstoat/pbparser v0.2.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/bufbuild/protocompile v0.8.0 // indirect
|
||||||
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
|
golang.org/x/sync v0.5.0 // indirect
|
||||||
|
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1 // indirect
|
||||||
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/google/uuid v1.6.0 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
github.com/jaevor/go-nanoid v1.3.0 // indirect
|
github.com/jaevor/go-nanoid v1.3.0 // indirect
|
||||||
|
github.com/jhump/protoreflect v1.15.6
|
||||||
)
|
)
|
||||||
|
|
15
go.sum
15
go.sum
|
@ -1,8 +1,23 @@
|
||||||
git.apinb.com/bsm-sdk/engine v1.0.5 h1:nsU+5suyRFaVqHhnrU9ontpgW+54cuY/+7OnI7VEa60=
|
git.apinb.com/bsm-sdk/engine v1.0.5 h1:nsU+5suyRFaVqHhnrU9ontpgW+54cuY/+7OnI7VEa60=
|
||||||
git.apinb.com/bsm-sdk/engine v1.0.5/go.mod h1:tNYgBhykUTBtpH+4EdAamcKqMwpJ3XUJ0roKqxGM3lM=
|
git.apinb.com/bsm-sdk/engine v1.0.5/go.mod h1:tNYgBhykUTBtpH+4EdAamcKqMwpJ3XUJ0roKqxGM3lM=
|
||||||
|
github.com/bufbuild/protocompile v0.8.0 h1:9Kp1q6OkS9L4nM3FYbr8vlJnEwtbpDPQlQOVXfR+78s=
|
||||||
|
github.com/bufbuild/protocompile v0.8.0/go.mod h1:+Etjg4guZoAqzVk2czwEQP12yaxLJ8DxuqCJ9qHdH94=
|
||||||
|
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||||
|
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||||
|
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||||
|
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/jaevor/go-nanoid v1.3.0 h1:nD+iepesZS6pr3uOVf20vR9GdGgJW1HPaR46gtrxzkg=
|
github.com/jaevor/go-nanoid v1.3.0 h1:nD+iepesZS6pr3uOVf20vR9GdGgJW1HPaR46gtrxzkg=
|
||||||
github.com/jaevor/go-nanoid v1.3.0/go.mod h1:SI+jFaPuddYkqkVQoNGHs81navCtH388TcrH0RqFKgY=
|
github.com/jaevor/go-nanoid v1.3.0/go.mod h1:SI+jFaPuddYkqkVQoNGHs81navCtH388TcrH0RqFKgY=
|
||||||
|
github.com/jhump/protoreflect v1.15.6 h1:WMYJbw2Wo+KOWwZFvgY0jMoVHM6i4XIvRs2RcBj5VmI=
|
||||||
|
github.com/jhump/protoreflect v1.15.6/go.mod h1:jCHoyYQIJnaabEYnbGwyo9hUqfyUMTbJw/tAut5t97E=
|
||||||
github.com/tallstoat/pbparser v0.2.0 h1:lsFH4mdiOv1MIQVmge/idThSTd2uByNodWVfbtysjzg=
|
github.com/tallstoat/pbparser v0.2.0 h1:lsFH4mdiOv1MIQVmge/idThSTd2uByNodWVfbtysjzg=
|
||||||
github.com/tallstoat/pbparser v0.2.0/go.mod h1:aUC6W9uQLeAXZkknve8ZDO6InhRYpYHlJ9kvsQh1i2k=
|
github.com/tallstoat/pbparser v0.2.0/go.mod h1:aUC6W9uQLeAXZkknve8ZDO6InhRYpYHlJ9kvsQh1i2k=
|
||||||
|
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
|
||||||
|
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||||
|
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||||
|
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1 h1:fk72uXZyuZiTtW5tgd63jyVK6582lF61nRC/kGv6vCA=
|
||||||
|
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||||
|
|
Loading…
Reference in New Issue