版本检查
This commit is contained in:
parent
98aa5b7de7
commit
7ae72463b4
8
cmd/v2/FyneApp.toml
Normal file
8
cmd/v2/FyneApp.toml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Website = "https://legu.com"
|
||||||
|
|
||||||
|
[Details]
|
||||||
|
Icon = "Icon.png"
|
||||||
|
Name = "RobotGUI"
|
||||||
|
ID = "com.legu.app"
|
||||||
|
Version = "1.0.1"
|
||||||
|
Build = 7
|
@ -70,8 +70,9 @@ package common
|
|||||||
|
|
||||||
// zh
|
// zh
|
||||||
const (
|
const (
|
||||||
// app
|
|
||||||
APP_NAME = "机器人"
|
APP_NAME = "机器人"
|
||||||
|
// app 子标题 [0.0.1 build-1] 应用名称
|
||||||
|
APP_WIN_TITLE = "%s [%s build-%d] %s"
|
||||||
|
|
||||||
//about
|
//about
|
||||||
APP_ABOUT_TITLE = "关于"
|
APP_ABOUT_TITLE = "关于"
|
||||||
|
@ -3,6 +3,10 @@ package common
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
"github.com/spf13/cast"
|
||||||
)
|
)
|
||||||
|
|
||||||
func FormatJson(data string) (string, error) {
|
func FormatJson(data string) (string, error) {
|
||||||
@ -41,3 +45,26 @@ func SubStr(str string, start int, length int) (result string) {
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 是否升级
|
||||||
|
func IsUpgrade(newVersion, oldVersion string) bool {
|
||||||
|
nvArr := strings.SplitN(newVersion, ".", 3)
|
||||||
|
if len(nvArr) != 3 {
|
||||||
|
logrus.Error("new version format err")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
ovArr := strings.SplitN(oldVersion, ".", 3)
|
||||||
|
if len(ovArr) != 3 {
|
||||||
|
logrus.Error("old version format err")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
nvNum := cast.ToInt(nvArr[0])*100 + cast.ToInt(nvArr[1])*10 + cast.ToInt(nvArr[2])
|
||||||
|
ovNum := cast.ToInt(ovArr[0])*100 + cast.ToInt(ovArr[1])*10 + cast.ToInt(ovArr[2])
|
||||||
|
|
||||||
|
if nvNum > ovNum {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
@ -49,8 +49,6 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
logrus.Info("Starting...")
|
|
||||||
|
|
||||||
// create a new ui
|
// create a new ui
|
||||||
app := app.NewWithID("protocol-test-tool")
|
app := app.NewWithID("protocol-test-tool")
|
||||||
app.SetIcon(theme.ResourceIconPng)
|
app.SetIcon(theme.ResourceIconPng)
|
||||||
@ -58,7 +56,7 @@ func main() {
|
|||||||
mainWindow := ui.NewMainWindow(appUI)
|
mainWindow := ui.NewMainWindow(appUI)
|
||||||
|
|
||||||
mainWindow.CreateWindow(common.APP_NAME, 1366, 768, true)
|
mainWindow.CreateWindow(common.APP_NAME, 1366, 768, true)
|
||||||
|
logrus.WithField("version", app.Metadata().Version).Info("app starting")
|
||||||
appUI.Run()
|
appUI.Run()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@ fyne bundle msyh.ttc >> bundled.go
|
|||||||
fyne bundle -append msyhbd.ttc >> bundled.go
|
fyne bundle -append msyhbd.ttc >> bundled.go
|
||||||
(不要使用powershell 或vscode自带终端)
|
(不要使用powershell 或vscode自带终端)
|
||||||
|
|
||||||
|
|
||||||
## icon
|
## icon
|
||||||
|
|
||||||
1.
|
1.
|
||||||
@ -26,7 +25,7 @@ a.SetIcon(resourceFavPng)
|
|||||||
|
|
||||||
## package
|
## package
|
||||||
|
|
||||||
fyne package -os windows -icon icon.png
|
fyne package --name robotGUI-1.0.1 -os windows -icon Icon.png
|
||||||
|
|
||||||
## 开发协议参数表单
|
## 开发协议参数表单
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
upgradeUrl: http://10.0.0.9:8080/
|
||||||
services:
|
services:
|
||||||
- service:
|
- service:
|
||||||
sid: 1
|
sid: 1
|
||||||
|
@ -31,6 +31,7 @@ type Services struct {
|
|||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Services []*Services `yaml:"services"`
|
Services []*Services `yaml:"services"`
|
||||||
|
UpgradeUrl string `yaml:"upgradeUrl"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewConfigService() (ConfigService, error) {
|
func NewConfigService() (ConfigService, error) {
|
||||||
|
@ -6,6 +6,8 @@ import (
|
|||||||
"go_dreamfactory/cmd/v2/service/observer"
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -19,7 +21,8 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type ConnService interface {
|
type ConnService interface {
|
||||||
Connect(wsUrl string) error
|
WsConnect(wsUrl string) error
|
||||||
|
HttpConnect(url string) ([]byte, error)
|
||||||
SendMsg(msg *pb.UserMessage, rsp proto.Message) (err error)
|
SendMsg(msg *pb.UserMessage, rsp proto.Message) (err error)
|
||||||
ReceiveMsg() (code pb.ErrorCode, msg *pb.UserMessage)
|
ReceiveMsg() (code pb.ErrorCode, msg *pb.UserMessage)
|
||||||
ListenerPush()
|
ListenerPush()
|
||||||
@ -40,7 +43,7 @@ func GetConnService() *ConnServiceImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// connect ...
|
// connect ...
|
||||||
func (c *ConnServiceImpl) Connect(wsUrl string) error {
|
func (c *ConnServiceImpl) WsConnect(wsUrl string) error {
|
||||||
dialer := &websocket.Dialer{
|
dialer := &websocket.Dialer{
|
||||||
HandshakeTimeout: 5 * time.Second,
|
HandshakeTimeout: 5 * time.Second,
|
||||||
}
|
}
|
||||||
@ -64,6 +67,15 @@ func (c *ConnServiceImpl) Connect(wsUrl string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *ConnServiceImpl) HttpConnect(url string) ([]byte, error) {
|
||||||
|
res, err := http.Get(url)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer res.Body.Close()
|
||||||
|
return ioutil.ReadAll(res.Body)
|
||||||
|
}
|
||||||
|
|
||||||
// listener push
|
// listener push
|
||||||
func (c *ConnServiceImpl) ListenerPush() {
|
func (c *ConnServiceImpl) ListenerPush() {
|
||||||
go func() {
|
go func() {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package ui
|
package ui
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"go_dreamfactory/cmd/v2/lib/common"
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
"go_dreamfactory/cmd/v2/service"
|
"go_dreamfactory/cmd/v2/service"
|
||||||
@ -8,6 +9,8 @@ import (
|
|||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/modules/user"
|
"go_dreamfactory/modules/user"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
|
"os/exec"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"fyne.io/fyne/v2"
|
"fyne.io/fyne/v2"
|
||||||
@ -17,6 +20,7 @@ import (
|
|||||||
"github.com/BabySid/gobase"
|
"github.com/BabySid/gobase"
|
||||||
"github.com/Pallinder/go-randomdata"
|
"github.com/Pallinder/go-randomdata"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
"github.com/tidwall/gjson"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -114,6 +118,7 @@ func (ui *MainWindowImpl) quiteHandle() {
|
|||||||
// CreateWindow ....
|
// CreateWindow ....
|
||||||
func (ui *MainWindowImpl) CreateWindow(title string, width, height float32, _ bool) {
|
func (ui *MainWindowImpl) CreateWindow(title string, width, height float32, _ bool) {
|
||||||
// init window
|
// init window
|
||||||
|
title = fmt.Sprintf(common.APP_WIN_TITLE, "登录", ui.app.Metadata().Version, ui.app.Metadata().Build, common.APP_NAME)
|
||||||
w := ui.app.NewWindow(title)
|
w := ui.app.NewWindow(title)
|
||||||
ui.AddWindow("main", w)
|
ui.AddWindow("main", w)
|
||||||
ui.w = w
|
ui.w = w
|
||||||
@ -128,21 +133,57 @@ func (ui *MainWindowImpl) CreateWindow(title string, width, height float32, _ bo
|
|||||||
// ui.mm = newMainMenu()
|
// ui.mm = newMainMenu()
|
||||||
// w.SetMainMenu(ui.mm.MainMenu)
|
// w.SetMainMenu(ui.mm.MainMenu)
|
||||||
|
|
||||||
// create window container
|
|
||||||
// mainLayout := ui.createWindowContainer()
|
|
||||||
|
|
||||||
w.SetMaster()
|
w.SetMaster()
|
||||||
// w.Show()
|
|
||||||
// w.SetContent(mainLayout)
|
|
||||||
w.CenterOnScreen()
|
w.CenterOnScreen()
|
||||||
_ = ui.createChooseServerPopUp(w)
|
_ = ui.createChooseServerPopUp(w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check version
|
||||||
|
func (ui *MainWindowImpl) checkVersion(parent fyne.Window) {
|
||||||
|
logrus.Debug("check version")
|
||||||
|
b, err := ui.connService.HttpConnect(ui.configService.GetConfig().UpgradeUrl + "version")
|
||||||
|
if err != nil {
|
||||||
|
dialog.ShowError(errors.New("版本检查:"+err.Error()), parent)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ver := gjson.Get(string(b), "version").String()
|
||||||
|
logrus.WithField("version", ver).Debug("server version")
|
||||||
|
if common.IsUpgrade(ver, ui.app.Metadata().Version) {
|
||||||
|
chkDialog := dialog.NewConfirm("版本检查", "检查到新版本:"+ver, func(b bool) {
|
||||||
|
var commands = map[string]string{
|
||||||
|
"windows": "explorer",
|
||||||
|
"darwin": "open",
|
||||||
|
"linux": "xdg-open",
|
||||||
|
}
|
||||||
|
//open browser
|
||||||
|
open := func(uri string) error {
|
||||||
|
// runtime.GOOS获取当前平台
|
||||||
|
run, ok := commands[runtime.GOOS]
|
||||||
|
if !ok {
|
||||||
|
logrus.Errorf("don't know how to open things on %s platform", runtime.GOOS)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd := exec.Command(run, uri)
|
||||||
|
return cmd.Run()
|
||||||
|
}
|
||||||
|
open(ui.configService.GetConfig().UpgradeUrl)
|
||||||
|
|
||||||
|
}, parent)
|
||||||
|
chkDialog.SetConfirmText(common.BUTTON_OK)
|
||||||
|
chkDialog.Show()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// createChooseServerPopUp
|
// createChooseServerPopUp
|
||||||
func (ui *MainWindowImpl) createChooseServerPopUp(w fyne.Window) error {
|
func (ui *MainWindowImpl) createChooseServerPopUp(w fyne.Window) error {
|
||||||
ch := make(chan string)
|
ch := make(chan string)
|
||||||
|
|
||||||
selServerWin := ui.createChooseServerWindow("选服", ch)
|
title := fmt.Sprintf(common.APP_WIN_TITLE, "选服", ui.app.Metadata().Version, ui.app.Metadata().Build, common.APP_NAME)
|
||||||
|
selServerWin := ui.createChooseServerWindow(title, ch)
|
||||||
|
ui.checkVersion(selServerWin)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
data := <-ch
|
data := <-ch
|
||||||
selServerWin.Hide()
|
selServerWin.Hide()
|
||||||
@ -156,16 +197,16 @@ func (ui *MainWindowImpl) createChooseServerPopUp(w fyne.Window) error {
|
|||||||
func (ui *MainWindowImpl) createChooseServerWindow(
|
func (ui *MainWindowImpl) createChooseServerWindow(
|
||||||
title string,
|
title string,
|
||||||
ch chan string) fyne.Window {
|
ch chan string) fyne.Window {
|
||||||
|
// choose server button func
|
||||||
makeButton := func(s *service.ServiceConf, parent fyne.Window) *widget.Button {
|
makeButton := func(s *service.ServiceConf, parent fyne.Window) *widget.Button {
|
||||||
btn := widget.NewButton(s.Name, func() {
|
btn := widget.NewButton(s.Name, func() {
|
||||||
d := dialog.NewInformation("", common.INFO_WAIT, parent)
|
d := dialog.NewInformation("", common.INFO_WAIT, parent)
|
||||||
d.SetDismissText(common.BUTTON_CANCEL)
|
d.SetDismissText(common.BUTTON_CANCEL)
|
||||||
d.Show()
|
d.Show()
|
||||||
|
|
||||||
logrus.WithField("server", s.Name).Debug("choose server")
|
logrus.WithFields(logrus.Fields{"server": s.Name, "sid": s.SId}).Debug("choose server")
|
||||||
//conn server
|
//conn server
|
||||||
if err := ui.connService.Connect(s.Url); err != nil {
|
if err := ui.connService.WsConnect(s.Url); err != nil {
|
||||||
d.Hide()
|
d.Hide()
|
||||||
dialog.ShowError(err, parent)
|
dialog.ShowError(err, parent)
|
||||||
} else {
|
} else {
|
||||||
@ -217,7 +258,7 @@ func (ui *MainWindowImpl) createLoginWin(sid, sname string) {
|
|||||||
}
|
}
|
||||||
// hide toolbar
|
// hide toolbar
|
||||||
ui.tb.toolbar.Hide()
|
ui.tb.toolbar.Hide()
|
||||||
// 必须在创建窗口之后调用
|
// call after ui.createWindowContainer
|
||||||
ui.connService.ListenerPush()
|
ui.connService.ListenerPush()
|
||||||
if code := ui.pttService.Login(sid, account.Text); code != pb.ErrorCode_Success {
|
if code := ui.pttService.Login(sid, account.Text); code != pb.ErrorCode_Success {
|
||||||
err := fmt.Errorf("login err: %v[%d]", code, int32(code))
|
err := fmt.Errorf("login err: %v[%d]", code, int32(code))
|
||||||
@ -237,7 +278,9 @@ func (ui *MainWindowImpl) createLoginWin(sid, sname string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ui.w.SetTitle(fmt.Sprintf("%s[%s]", sname, sid))
|
// reset main window title
|
||||||
|
subTitle := fmt.Sprintf("%s[%s]", sname, sid)
|
||||||
|
ui.w.SetTitle(fmt.Sprintf(common.APP_WIN_TITLE, subTitle, ui.app.Metadata().Version, ui.app.Metadata().Build, common.APP_NAME))
|
||||||
ui.pttService.SetUser(rsp.Data, rsp.Ex)
|
ui.pttService.SetUser(rsp.Data, rsp.Ex)
|
||||||
// isCreateRole
|
// isCreateRole
|
||||||
if rsp.Data.Created {
|
if rsp.Data.Created {
|
||||||
|
4
go.mod
4
go.mod
@ -10,6 +10,7 @@ require (
|
|||||||
github.com/atotto/clipboard v0.1.4
|
github.com/atotto/clipboard v0.1.4
|
||||||
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394
|
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394
|
||||||
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca
|
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca
|
||||||
|
github.com/gin-gonic/gin v1.8.1
|
||||||
github.com/go-playground/validator/v10 v10.10.1
|
github.com/go-playground/validator/v10 v10.10.1
|
||||||
github.com/go-redis/redis/v8 v8.11.5
|
github.com/go-redis/redis/v8 v8.11.5
|
||||||
github.com/golang-jwt/jwt v3.2.2+incompatible
|
github.com/golang-jwt/jwt v3.2.2+incompatible
|
||||||
@ -61,6 +62,7 @@ require (
|
|||||||
github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe // indirect
|
github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe // indirect
|
||||||
github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 // indirect
|
github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 // indirect
|
||||||
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 // indirect
|
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 // indirect
|
||||||
|
github.com/gin-contrib/sse v0.1.0 // indirect
|
||||||
github.com/go-cmd/cmd v1.4.0 // indirect
|
github.com/go-cmd/cmd v1.4.0 // indirect
|
||||||
github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect
|
github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect
|
||||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec // indirect
|
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec // indirect
|
||||||
@ -73,6 +75,7 @@ require (
|
|||||||
github.com/go-redis/redis_rate/v9 v9.1.2 // indirect
|
github.com/go-redis/redis_rate/v9 v9.1.2 // indirect
|
||||||
github.com/go-stack/stack v1.8.0 // indirect
|
github.com/go-stack/stack v1.8.0 // indirect
|
||||||
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
|
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
|
||||||
|
github.com/goccy/go-json v0.9.7 // indirect
|
||||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff // indirect
|
github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff // indirect
|
||||||
@ -117,6 +120,7 @@ require (
|
|||||||
github.com/nxadm/tail v1.4.8 // indirect
|
github.com/nxadm/tail v1.4.8 // indirect
|
||||||
github.com/onsi/ginkgo v1.16.5 // indirect
|
github.com/onsi/ginkgo v1.16.5 // indirect
|
||||||
github.com/pelletier/go-toml v1.9.3 // indirect
|
github.com/pelletier/go-toml v1.9.3 // indirect
|
||||||
|
github.com/pelletier/go-toml/v2 v2.0.1 // indirect
|
||||||
github.com/philhofer/fwd v1.1.1 // indirect
|
github.com/philhofer/fwd v1.1.1 // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
|
8
go.sum
8
go.sum
@ -163,6 +163,10 @@ github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504/go.mod h1:gLRWYfYn
|
|||||||
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 h1:hnLq+55b7Zh7/2IRzWCpiTcAvjv/P8ERF+N7+xXbZhk=
|
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 h1:hnLq+55b7Zh7/2IRzWCpiTcAvjv/P8ERF+N7+xXbZhk=
|
||||||
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2/go.mod h1:eO7W361vmlPOrykIg+Rsh1SZ3tQBaOsfzZhsIOb/Lm0=
|
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2/go.mod h1:eO7W361vmlPOrykIg+Rsh1SZ3tQBaOsfzZhsIOb/Lm0=
|
||||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
|
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||||
|
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||||
|
github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8=
|
||||||
|
github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk=
|
||||||
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
||||||
github.com/go-cmd/cmd v1.4.0 h1:dF+1JtZMlgCKAcsvstp2VNmVA/jXRjlRYFOF4/w7Bbo=
|
github.com/go-cmd/cmd v1.4.0 h1:dF+1JtZMlgCKAcsvstp2VNmVA/jXRjlRYFOF4/w7Bbo=
|
||||||
github.com/go-cmd/cmd v1.4.0/go.mod h1:tbBenttXtZU4c5djS1o7PWL5pd2xAr5sIqH1kGdNiRc=
|
github.com/go-cmd/cmd v1.4.0/go.mod h1:tbBenttXtZU4c5djS1o7PWL5pd2xAr5sIqH1kGdNiRc=
|
||||||
@ -231,6 +235,8 @@ github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWe
|
|||||||
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
|
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
|
||||||
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
|
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
|
||||||
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
||||||
|
github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM=
|
||||||
|
github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||||
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
@ -561,6 +567,8 @@ github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144T
|
|||||||
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
|
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
|
||||||
github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ=
|
github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ=
|
||||||
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
|
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
|
||||||
|
github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
|
||||||
|
github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
|
||||||
github.com/peterbourgon/g2s v0.0.0-20140925154142-ec76db4c1ac1 h1:5Dl+ADmsGerAqHwWzyLqkNaUBQ+48DQwfDCaW1gHAQM=
|
github.com/peterbourgon/g2s v0.0.0-20140925154142-ec76db4c1ac1 h1:5Dl+ADmsGerAqHwWzyLqkNaUBQ+48DQwfDCaW1gHAQM=
|
||||||
github.com/peterbourgon/g2s v0.0.0-20140925154142-ec76db4c1ac1/go.mod h1:1VcHEd3ro4QMoHfiNl/j7Jkln9+KQuorp0PItHMJYNg=
|
github.com/peterbourgon/g2s v0.0.0-20140925154142-ec76db4c1ac1/go.mod h1:1VcHEd3ro4QMoHfiNl/j7Jkln9+KQuorp0PItHMJYNg=
|
||||||
github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ=
|
github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ=
|
||||||
|
Loading…
Reference in New Issue
Block a user