Currently type references for non-local names are output as relative types which is subject to the resolution rules as defined at https://protobuf.com/docs/language-spec#reference-resolution This works fine within the k8s.io namespace where no subpackages are named k8s, but other users of go-to-protobuf likely have k8s in their package name. This causes conflicts in the search resolution when executing `go-to-protobuf`: ``` company.example.com/k8s/custom/pkg/apis/custom.k8s.example.com/v1/generated.proto:64:12: "k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta" is resolved to "company.example.com.k8s.custom.pkg.apis.custom.k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta") to start from the outermost scope. ``` To avoid this we can output fully qualified type references using a preceding dot (.) This results in a change for k8s generated.proto files, but the effect is a noop. Fixes kubernetes/code-generator#147 Signed-off-by: Andrew DeMaria <ademaria@cloudflare.com> Kubernetes-commit: 9edf1fc51c56d565348c48f3765cf094518ba7ed |
||
|---|---|---|
| .. | ||
| apidiscovery | ||
| apiserver | ||
| audit | ||
| cel | ||
| example | ||
| example2 | ||
| flowcontrol/bootstrap | ||
| OWNERS | ||