diff --git a/main.go b/main.go index 0274063..04fd202 100644 --- a/main.go +++ b/main.go @@ -35,6 +35,7 @@ func main() { scrubResource(message) scrubResourceReferences(message) scrubFieldBehaviors(message) + scrubMessageFields(message) } for _, service := range file.GetService() { scrubServiceOptions(service) @@ -86,6 +87,20 @@ func scrubServiceOptions(service *descriptorpb.ServiceDescriptorProto) { } } +func scrubMessageFields(message *descriptorpb.DescriptorProto) { + n := 0 + for _, field := range message.Field { + if field.GetTypeName() != ".google.api.ResourceDescriptor" { + message.Field[n] = field + n++ + } + } + message.Field = message.Field[:n] + for _, nestedMessage := range message.NestedType { + scrubMessageFields(nestedMessage) + } +} + func scrubResourceReferences(message *descriptorpb.DescriptorProto) { for _, field := range message.GetField() { if field.GetOptions() != nil {