| OLD | NEW | 
|---|
| 1 // Copyright 2016 The LUCI Authors. All rights reserved. | 1 // Copyright 2016 The LUCI Authors. All rights reserved. | 
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 | 
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 package main | 5 package main | 
| 6 | 6 | 
| 7 import ( | 7 import ( | 
| 8         "fmt" | 8         "fmt" | 
| 9         "os" | 9         "os" | 
| 10         "strings" | 10         "strings" | 
| 11 | 11 | 
| 12         "github.com/maruel/subcommands" | 12         "github.com/maruel/subcommands" | 
| 13         "golang.org/x/net/context" | 13         "golang.org/x/net/context" | 
|  | 14         "google.golang.org/genproto/protobuf" | 
| 14 | 15 | 
| 15         "github.com/luci/luci-go/common/cli" | 16         "github.com/luci/luci-go/common/cli" | 
| 16 »       "github.com/luci/luci-go/common/proto/google/descriptor" | 17 »       "github.com/luci/luci-go/common/proto/google/descutil" | 
| 17         "github.com/luci/luci-go/grpc/prpc" | 18         "github.com/luci/luci-go/grpc/prpc" | 
| 18 ) | 19 ) | 
| 19 | 20 | 
| 20 var cmdShow = &subcommands.Command{ | 21 var cmdShow = &subcommands.Command{ | 
| 21         UsageLine: `show [flags] <server> [name] | 22         UsageLine: `show [flags] <server> [name] | 
| 22 | 23 | 
| 23   server: host ("example.com") or port for localhost (":8080"). | 24   server: host ("example.com") or port for localhost (":8080"). | 
| 24   name: a full name of service, method or type. If not specified prints names | 25   name: a full name of service, method or type. If not specified prints names | 
| 25         of all available services.`, | 26         of all available services.`, | 
| 26         ShortDesc: "lists services and prints a definition of a referenced objec
     t.", | 27         ShortDesc: "lists services and prints a definition of a referenced objec
     t.", | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 68                 return fmt.Errorf("could not load server description: %s", err) | 69                 return fmt.Errorf("could not load server description: %s", err) | 
| 69         } | 70         } | 
| 70 | 71 | 
| 71         if name == "" { | 72         if name == "" { | 
| 72                 for _, s := range desc.Services { | 73                 for _, s := range desc.Services { | 
| 73                         fmt.Println(s) | 74                         fmt.Println(s) | 
| 74                 } | 75                 } | 
| 75                 return nil | 76                 return nil | 
| 76         } | 77         } | 
| 77 | 78 | 
| 78 »       file, obj, path := desc.Description.Resolve(name) | 79 »       file, obj, path := descutil.Resolve(desc.Description, name) | 
| 79         if obj == nil { | 80         if obj == nil { | 
| 80                 return fmt.Errorf("name %q could not resolved", name) | 81                 return fmt.Errorf("name %q could not resolved", name) | 
| 81         } | 82         } | 
| 82 | 83 | 
| 83         print := newPrinter(os.Stdout) | 84         print := newPrinter(os.Stdout) | 
| 84         print.File = file | 85         print.File = file | 
| 85 | 86 | 
| 86         switch obj := obj.(type) { | 87         switch obj := obj.(type) { | 
| 87 | 88 | 
| 88         case *descriptor.ServiceDescriptorProto: | 89         case *descriptor.ServiceDescriptorProto: | 
| 89                 print.Service(obj, path[1], -1) | 90                 print.Service(obj, path[1], -1) | 
| 90 | 91 | 
| 91         case *descriptor.MethodDescriptorProto: | 92         case *descriptor.MethodDescriptorProto: | 
| 92                 serviceIndex, methodIndex := path[1], path[3] | 93                 serviceIndex, methodIndex := path[1], path[3] | 
| 93                 print.Service(file.Service[serviceIndex], serviceIndex, methodIn
     dex) | 94                 print.Service(file.Service[serviceIndex], serviceIndex, methodIn
     dex) | 
| 94 | 95 | 
| 95                 printMsg := func(name string) { | 96                 printMsg := func(name string) { | 
| 96                         name = strings.TrimPrefix(name, ".") | 97                         name = strings.TrimPrefix(name, ".") | 
| 97 »       »       »       file, msg, path := desc.Description.Resolve(name) | 98 »       »       »       file, msg, path := descutil.Resolve(desc.Description, na
     me) | 
| 98                         if msg == nil { | 99                         if msg == nil { | 
| 99                                 print.Printf("// Message %q is not found\n", nam
     e) | 100                                 print.Printf("// Message %q is not found\n", nam
     e) | 
| 100                                 return | 101                                 return | 
| 101                         } | 102                         } | 
| 102                         print.File = file | 103                         print.File = file | 
| 103                         print.Message(msg.(*descriptor.DescriptorProto), path) | 104                         print.Message(msg.(*descriptor.DescriptorProto), path) | 
| 104                 } | 105                 } | 
| 105 | 106 | 
| 106                 print.Printf("\n") | 107                 print.Printf("\n") | 
| 107                 printMsg(obj.GetInputType()) | 108                 printMsg(obj.GetInputType()) | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 119 | 120 | 
| 120         case *descriptor.EnumValueDescriptorProto: | 121         case *descriptor.EnumValueDescriptorProto: | 
| 121                 print.EnumValue(obj, path) | 122                 print.EnumValue(obj, path) | 
| 122 | 123 | 
| 123         default: | 124         default: | 
| 124                 return fmt.Errorf("object of type %T is not supported", obj) | 125                 return fmt.Errorf("object of type %T is not supported", obj) | 
| 125         } | 126         } | 
| 126 | 127 | 
| 127         return print.Err | 128         return print.Err | 
| 128 } | 129 } | 
| OLD | NEW | 
|---|