github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/cmd/cmd_gen_client.go (about)

     1  package cmd
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  
     6  	"github.com/artisanhe/tools/codegen"
     7  	"github.com/artisanhe/tools/courier/client/gen"
     8  )
     9  
    10  var (
    11  	cmdGenClientFlagName    string
    12  	cmdGenClientFlagFile    string
    13  	cmdGenClientFlagSpecURL string
    14  )
    15  
    16  var cmdGenClient = &cobra.Command{
    17  	Use:   "client",
    18  	Short: "Generate client from swagger.json",
    19  	Run: func(cmd *cobra.Command, args []string) {
    20  		clientGenerator := gen.ClientGenerator{
    21  			ServiceName: cmdGenClientFlagName,
    22  			File:        cmdGenClientFlagFile,
    23  			SpecURL:     cmdGenClientFlagSpecURL,
    24  			BaseClient:  "github.com/artisanhe/tools/courier/client.Client",
    25  		}
    26  		codegen.Generate(&clientGenerator)
    27  	},
    28  }
    29  
    30  func init() {
    31  	cmdGenClient.Flags().
    32  		StringVarP(&cmdGenClientFlagSpecURL, "spec-url", "", "", "client spec url")
    33  	cmdGenClient.Flags().
    34  		StringVarP(&cmdGenClientFlagName, "name", "", "", "service name")
    35  	cmdGenClient.Flags().
    36  		StringVarP(&cmdGenClientFlagFile, "file", "", "", "client spec file")
    37  
    38  	cmdGen.AddCommand(cmdGenClient)
    39  }