4 Commits

Author SHA1 Message Date
rogeecn
900b260698 tidy 2023-08-05 12:44:39 +08:00
rogeecn
3f0e648385 fix issues 2023-08-04 18:45:46 +08:00
rogeecn
4792452e1a add AppName var for app 2023-08-04 15:47:47 +08:00
rogeecn
08ea22c3b3 fix config loader 2023-08-01 14:25:29 +08:00
4 changed files with 23 additions and 8 deletions

View File

@@ -3,8 +3,8 @@ package atom
import (
"fmt"
"github.com/atom-providers/config"
"github.com/pkg/errors"
"github.com/rogeecn/atom-addons/providers/config"
"github.com/rogeecn/atom/container"
"github.com/spf13/cobra"
"go.uber.org/dig"
@@ -65,9 +65,22 @@ func LoadProviders(cfgFile, appName string, providers container.Providers) error
type Option func(*cobra.Command)
var (
AppName string
AppVersion string
)
func Version(ver string) Option {
return func(cmd *cobra.Command) {
cmd.Version = ver
AppVersion = ver
}
}
func Name(name string) Option {
return func(cmd *cobra.Command) {
cmd.Use = name
AppName = name
}
}

View File

@@ -3,6 +3,7 @@ package container
import (
"context"
"log"
"os"
"os/signal"
"syscall"
@@ -20,7 +21,8 @@ var (
func init() {
closeable = make([]func(), 0)
if err := Container.Provide(func() context.Context {
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
signals := []os.Signal{syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGKILL}
ctx, cancel := signal.NotifyContext(context.Background(), signals...)
go func() {
<-ctx.Done()
Close()

4
go.mod
View File

@@ -3,9 +3,9 @@ module github.com/rogeecn/atom
go 1.19
require (
github.com/atom-providers/config v0.0.0-20230801062037-db91396e3287
github.com/brianvoe/gofakeit/v6 v6.23.0
github.com/pkg/errors v0.9.1
github.com/rogeecn/atom-addons/providers/config v0.0.0-20230717084320-362ebc474705
github.com/rogeecn/gen v1.0.15
github.com/spf13/cobra v1.7.0
github.com/spf13/viper v1.16.0
@@ -48,7 +48,7 @@ require (
github.com/ugorji/go/codec v1.2.11 // indirect
golang.org/x/arch v0.4.0 // indirect
golang.org/x/exp v0.0.0-20230728194245-b0cb94b80691 // indirect
golang.org/x/net v0.12.0 // indirect
golang.org/x/net v0.13.0 // indirect
golang.org/x/sys v0.10.0 // indirect
golang.org/x/text v0.11.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect

8
go.sum
View File

@@ -38,6 +38,8 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/atom-providers/config v0.0.0-20230801062037-db91396e3287 h1:DJQmnHW5MgGfdFj1rP+XUNfEq4gY13wZ3BtfM47agcg=
github.com/atom-providers/config v0.0.0-20230801062037-db91396e3287/go.mod h1:940U+71qe5153e3esr1PQZCpM1SzP4Vu9VI2LePJIhc=
github.com/brianvoe/gofakeit/v6 v6.23.0 h1:pgVhyWpYq4e0GEVCh2gdZnS/nBX+8SnyTBliHg5xjks=
github.com/brianvoe/gofakeit/v6 v6.23.0/go.mod h1:Ow6qC71xtwm79anlwKRlWZW6zVq9D2XHE4QSSMP/rU8=
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
@@ -195,8 +197,6 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogeecn/atom-addons/providers/config v0.0.0-20230717084320-362ebc474705 h1:yhU8S0Zg+MKkjwACOYEXZk2T7g1T7eGWZAm2/xGnNIw=
github.com/rogeecn/atom-addons/providers/config v0.0.0-20230717084320-362ebc474705/go.mod h1:gOPsOcW/oPwz6CN7Bzv94RX1QNpSYs0tgTVfye8bm1I=
github.com/rogeecn/gen v1.0.15 h1:B2c8DegRLBJZv1FnS9sy5nJ2jPVFGDwuJQNKDsxAQ6U=
github.com/rogeecn/gen v1.0.15/go.mod h1:2bsmE6voSNriUNoCRRVye/y6tcnu79gkI/RGt0asmvU=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -325,8 +325,8 @@ golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY=
golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=