github.com/yoogoc/kratos-scaffold@v0.0.0-20240402032722-a538b3c18955/project_generator/resources/cmd.server.go.tmpl (about)

     1  {{- /*gotype: github.com/yoogoc/kratos-scaffold/project_generator.CmdTmpl*/ -}}
     2  package main
     3  
     4  import (
     5  	"github.com/go-kratos/kratos/v2"
     6  	"github.com/go-kratos/kratos/v2/log"
     7  	"github.com/go-kratos/kratos/v2/transport/grpc"
     8  	"github.com/go-kratos/kratos/v2/transport/http"
     9  	"github.com/google/wire"
    10  	"github.com/spf13/cobra"
    11  )
    12  
    13  type ServerCommand cobra.Command
    14  
    15  {{- if .IsBff }}
    16  var ProviderSet = wire.NewSet(NewServerCmd)
    17  {{- else }}
    18  var ProviderSet = wire.NewSet(NewServerCmd, NewMigrateCmd)
    19  {{- end }}
    20  
    21  func NewServerCmd(logger log.Logger, gs *grpc.Server, hs *http.Server) *ServerCommand {
    22  	return &ServerCommand{
    23  		Use:                "server",
    24  		Short:              "begin service",
    25  		Long:               `begin service`,
    26  		FParseErrWhitelist: cobra.FParseErrWhitelist{UnknownFlags: true},
    27  		RunE: func(cmd *cobra.Command, args []string) error {
    28  			app := kratos.New(
    29  				kratos.Name(Name),
    30  				kratos.Version(Version),
    31  				kratos.Metadata(map[string]string{}),
    32  				kratos.Logger(logger),
    33  				kratos.Server(
    34  					gs,
    35  					hs,
    36  				),
    37  			)
    38  			return app.Run()
    39  		},
    40  	}
    41  }