github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/misc/genproto/genproto.go (about) 1 package main 2 3 import ( 4 "context" 5 "os" 6 7 "github.com/gnolang/gno/tm2/pkg/amino" 8 "github.com/gnolang/gno/tm2/pkg/amino/genproto" 9 "github.com/gnolang/gno/tm2/pkg/amino/tests" 10 "github.com/gnolang/gno/tm2/pkg/commands" 11 12 // TODO: move these out. 13 "github.com/gnolang/gno/gno.land/pkg/sdk/vm" 14 gno "github.com/gnolang/gno/gnovm/pkg/gnolang" 15 abci "github.com/gnolang/gno/tm2/pkg/bft/abci/types" 16 "github.com/gnolang/gno/tm2/pkg/bft/blockchain" 17 "github.com/gnolang/gno/tm2/pkg/bft/consensus" 18 ctypes "github.com/gnolang/gno/tm2/pkg/bft/consensus/types" 19 "github.com/gnolang/gno/tm2/pkg/bft/mempool" 20 btypes "github.com/gnolang/gno/tm2/pkg/bft/types" 21 "github.com/gnolang/gno/tm2/pkg/bitarray" 22 "github.com/gnolang/gno/tm2/pkg/crypto/ed25519" 23 "github.com/gnolang/gno/tm2/pkg/crypto/hd" 24 "github.com/gnolang/gno/tm2/pkg/crypto/merkle" 25 "github.com/gnolang/gno/tm2/pkg/crypto/multisig" 26 "github.com/gnolang/gno/tm2/pkg/sdk" 27 "github.com/gnolang/gno/tm2/pkg/sdk/bank" 28 "github.com/gnolang/gno/tm2/pkg/std" 29 ) 30 31 func main() { 32 cmd := commands.NewCommand( 33 commands.Metadata{ 34 LongHelp: "Generates proto bindings for Amino packages", 35 }, 36 commands.NewEmptyConfig(), 37 execGen, 38 ) 39 40 cmd.Execute(context.Background(), os.Args[1:]) 41 } 42 43 func execGen(_ context.Context, _ []string) error { 44 pkgs := []*amino.Package{ 45 bitarray.Package, 46 merkle.Package, 47 abci.Package, 48 btypes.Package, 49 consensus.Package, 50 ctypes.Package, 51 mempool.Package, 52 ed25519.Package, 53 blockchain.Package, 54 hd.Package, 55 multisig.Package, 56 std.Package, 57 sdk.Package, 58 bank.Package, 59 vm.Package, 60 gno.Package, 61 tests.Package, 62 } 63 64 for _, pkg := range pkgs { 65 genproto.WriteProto3Schema(pkg) 66 genproto.WriteProtoBindings(pkg) 67 genproto.MakeProtoFolder(pkg, "proto") 68 } 69 70 for _, pkg := range pkgs { 71 genproto.RunProtoc(pkg, "proto") 72 } 73 74 return nil 75 }