cmd/protoc-gen-go: generate for v2-only dependencies
This removes yet another set of dependencies of v2 on v1.
The only remaining dependency are in the _test.go files,
primarily for proto.Equal.
Changes made:
* cmd/protoc-gen-go no longer generates any functionality that depends
on the v1 package, and instead only depends on v2.
* internal/fileinit.FileBuilder.MessageOutputTypes is switched from
protoreflect.MessageType to protoimpl.MessageType since the
implementation must be fully inialized before registration occurs.
* The test for internal/legacy/file_test.go is switched to a legacy_test
package to avoid a cyclic dependency.
This requires Load{Enum,Message,File}Desc to be exported.
Change-Id: I43e2fe64cff4eea204258ce11e791aca5eb6e569
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/169298
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/internal/testprotos/test/ext.pb.go b/internal/testprotos/test/ext.pb.go
index 065a38e..aa1fa3b 100644
--- a/internal/testprotos/test/ext.pb.go
+++ b/internal/testprotos/test/ext.pb.go
@@ -4,8 +4,8 @@
package test
import (
- proto "github.com/golang/protobuf/proto"
protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
+ protoregistry "github.com/golang/protobuf/v2/reflect/protoregistry"
protoiface "github.com/golang/protobuf/v2/runtime/protoiface"
protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
)
@@ -67,9 +67,9 @@
DependencyIndexes: xxx_File_test_ext_proto_depIdxs,
LegacyExtensions: xxx_File_test_ext_proto_extDescs,
ExtensionOutputTypes: extensionTypes,
+ FilesRegistry: protoregistry.GlobalFiles,
+ TypesRegistry: protoregistry.GlobalTypes,
}.Init()
- proto.RegisterFile("test/ext.proto", xxx_File_test_ext_proto_rawdesc_gzipped)
- proto.RegisterExtension(E_ForeignInt32Extension)
xxx_File_test_ext_proto_goTypes = nil
xxx_File_test_ext_proto_depIdxs = nil
}