types: consistently name generated protos

Rename each generated protobuf package such that the base of the
Go package path is always equal to the Go package name to follow
proper Go package naming conventions.

The Go package name is derived from the .proto source file name by
replacing ".proto" with "pb" and stripping all underscores.

Change-Id: Iea05d1b5d94b1b2821ae10276ab771bb2df93c0e
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/177380
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/cmd/protoc-gen-go/annotation_test.go b/cmd/protoc-gen-go/annotation_test.go
index cc81d58..233163d 100644
--- a/cmd/protoc-gen-go/annotation_test.go
+++ b/cmd/protoc-gen-go/annotation_test.go
@@ -13,7 +13,7 @@
 	"google.golang.org/protobuf/internal/fieldnum"
 	"google.golang.org/protobuf/internal/scalar"
 
-	descriptorpb "google.golang.org/protobuf/types/descriptor"
+	"google.golang.org/protobuf/types/descriptorpb"
 )
 
 func TestAnnotations(t *testing.T) {
diff --git a/cmd/protoc-gen-go/internal_gengo/main.go b/cmd/protoc-gen-go/internal_gengo/main.go
index 37bdc3d..6a48126 100644
--- a/cmd/protoc-gen-go/internal_gengo/main.go
+++ b/cmd/protoc-gen-go/internal_gengo/main.go
@@ -21,7 +21,7 @@
 	"google.golang.org/protobuf/internal/fieldnum"
 	"google.golang.org/protobuf/reflect/protoreflect"
 
-	descriptorpb "google.golang.org/protobuf/types/descriptor"
+	"google.golang.org/protobuf/types/descriptorpb"
 )
 
 // minimumVersion is minimum version of the v2 proto package that is required.
diff --git a/cmd/protoc-gen-go/internal_gengo/reflect.go b/cmd/protoc-gen-go/internal_gengo/reflect.go
index d5a8a47..0ff2946 100644
--- a/cmd/protoc-gen-go/internal_gengo/reflect.go
+++ b/cmd/protoc-gen-go/internal_gengo/reflect.go
@@ -14,7 +14,7 @@
 	"google.golang.org/protobuf/proto"
 	"google.golang.org/protobuf/reflect/protoreflect"
 
-	descriptorpb "google.golang.org/protobuf/types/descriptor"
+	"google.golang.org/protobuf/types/descriptorpb"
 )
 
 // TODO: Add support for proto options.
diff --git a/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go b/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
index 26be3f3..61fda36 100644
--- a/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
@@ -8,7 +8,7 @@
 	protoregistry "google.golang.org/protobuf/reflect/protoregistry"
 	protoiface "google.golang.org/protobuf/runtime/protoiface"
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-	descriptor "google.golang.org/protobuf/types/descriptor"
+	descriptorpb "google.golang.org/protobuf/types/descriptorpb"
 	sync "sync"
 )
 
@@ -83,7 +83,7 @@
 
 var file_extensions_proto3_ext3_proto_extDescs = []protoiface.ExtensionDescV1{
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*bool)(nil),
 		Field:         1001,
 		Name:          "goproto.protoc.extension.proto3.extension_bool",
@@ -91,7 +91,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*Enum)(nil),
 		Field:         1002,
 		Name:          "goproto.protoc.extension.proto3.extension_enum",
@@ -99,7 +99,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*int32)(nil),
 		Field:         1003,
 		Name:          "goproto.protoc.extension.proto3.extension_int32",
@@ -107,7 +107,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*int32)(nil),
 		Field:         1004,
 		Name:          "goproto.protoc.extension.proto3.extension_sint32",
@@ -115,7 +115,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*uint32)(nil),
 		Field:         1005,
 		Name:          "goproto.protoc.extension.proto3.extension_uint32",
@@ -123,7 +123,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*int64)(nil),
 		Field:         1006,
 		Name:          "goproto.protoc.extension.proto3.extension_int64",
@@ -131,7 +131,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*int64)(nil),
 		Field:         1007,
 		Name:          "goproto.protoc.extension.proto3.extension_sint64",
@@ -139,7 +139,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*uint64)(nil),
 		Field:         1008,
 		Name:          "goproto.protoc.extension.proto3.extension_uint64",
@@ -147,7 +147,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*int32)(nil),
 		Field:         1009,
 		Name:          "goproto.protoc.extension.proto3.extension_sfixed32",
@@ -155,7 +155,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*uint32)(nil),
 		Field:         1010,
 		Name:          "goproto.protoc.extension.proto3.extension_fixed32",
@@ -163,7 +163,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*float32)(nil),
 		Field:         1011,
 		Name:          "goproto.protoc.extension.proto3.extension_float",
@@ -171,7 +171,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*int64)(nil),
 		Field:         1012,
 		Name:          "goproto.protoc.extension.proto3.extension_sfixed64",
@@ -179,7 +179,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*uint64)(nil),
 		Field:         1013,
 		Name:          "goproto.protoc.extension.proto3.extension_fixed64",
@@ -187,7 +187,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*float64)(nil),
 		Field:         1014,
 		Name:          "goproto.protoc.extension.proto3.extension_double",
@@ -195,7 +195,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*string)(nil),
 		Field:         1015,
 		Name:          "goproto.protoc.extension.proto3.extension_string",
@@ -203,7 +203,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]byte)(nil),
 		Field:         1016,
 		Name:          "goproto.protoc.extension.proto3.extension_bytes",
@@ -211,7 +211,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: (*Message)(nil),
 		Field:         1017,
 		Name:          "goproto.protoc.extension.proto3.extension_Message",
@@ -219,7 +219,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]bool)(nil),
 		Field:         2001,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_bool",
@@ -227,7 +227,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]Enum)(nil),
 		Field:         2002,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_enum",
@@ -235,7 +235,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]int32)(nil),
 		Field:         2003,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_int32",
@@ -243,7 +243,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]int32)(nil),
 		Field:         2004,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_sint32",
@@ -251,7 +251,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]uint32)(nil),
 		Field:         2005,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_uint32",
@@ -259,7 +259,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]int64)(nil),
 		Field:         2006,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_int64",
@@ -267,7 +267,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]int64)(nil),
 		Field:         2007,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_sint64",
@@ -275,7 +275,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]uint64)(nil),
 		Field:         2008,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_uint64",
@@ -283,7 +283,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]int32)(nil),
 		Field:         2009,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_sfixed32",
@@ -291,7 +291,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]uint32)(nil),
 		Field:         2010,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_fixed32",
@@ -299,7 +299,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]float32)(nil),
 		Field:         2011,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_float",
@@ -307,7 +307,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]int64)(nil),
 		Field:         2012,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_sfixed64",
@@ -315,7 +315,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]uint64)(nil),
 		Field:         2013,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_fixed64",
@@ -323,7 +323,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]float64)(nil),
 		Field:         2014,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_double",
@@ -331,7 +331,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]string)(nil),
 		Field:         2015,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_string",
@@ -339,7 +339,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([][]byte)(nil),
 		Field:         2016,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_bytes",
@@ -347,7 +347,7 @@
 		Filename:      "extensions/proto3/ext3.proto",
 	},
 	{
-		ExtendedType:  (*descriptor.MessageOptions)(nil),
+		ExtendedType:  (*descriptorpb.MessageOptions)(nil),
 		ExtensionType: ([]*Message)(nil),
 		Field:         2017,
 		Name:          "goproto.protoc.extension.proto3.repeated_extension_Message",
@@ -683,9 +683,9 @@
 var file_extensions_proto3_ext3_proto_enumTypes = make([]protoreflect.EnumType, 1)
 var file_extensions_proto3_ext3_proto_msgTypes = make([]protoimpl.MessageType, 1)
 var file_extensions_proto3_ext3_proto_goTypes = []interface{}{
-	(Enum)(0),                         // 0: goproto.protoc.extension.proto3.Enum
-	(*Message)(nil),                   // 1: goproto.protoc.extension.proto3.Message
-	(*descriptor.MessageOptions)(nil), // 2: google.protobuf.MessageOptions
+	(Enum)(0),                           // 0: goproto.protoc.extension.proto3.Enum
+	(*Message)(nil),                     // 1: goproto.protoc.extension.proto3.Message
+	(*descriptorpb.MessageOptions)(nil), // 2: google.protobuf.MessageOptions
 }
 var file_extensions_proto3_ext3_proto_depIdxs = []int32{
 	2, // goproto.protoc.extension.proto3.extension_bool:extendee -> google.protobuf.MessageOptions