gen-crd-api-reference-docs icon indicating copy to clipboard operation
gen-crd-api-reference-docs copied to clipboard

Type aliases get collapsed down into the underlying type.

Open jpeach opened this issue 4 years ago • 1 comments

Over in service-apis, we have a CRD that uses Go type aliases:

type ConfigMapsDefaultLocalObjectReference struct {
...
}

type GatewayClassParametersObjectReference = ConfigMapsDefaultLocalObjectReference
type RouteHostExtensionObjectReference = ConfigMapsDefaultLocalObjectReference
type RouteActionExtensionObjectReference = ConfigMapsDefaultLocalObjectReference

Each alias has unique doc comments describing how it should be used in context.

What happens is that a single documentation block for ConfigMapsDefaultLocalObjectReference gets generated, and it takes the comments from one of the aliases.

https://kubernetes-sigs.github.io/service-apis/spec/#networking.x-k8s.io/v1alpha1.ConfigMapsDefaultLocalObjectReference

What I'm hoping for is for each alias to emit its own unique documentation, and probably inline the fields of the type it is aliasing.

jpeach avatar Jun 10 '20 05:06 jpeach

Looks like gengo is doing the type alias flattening, see https://github.com/kubernetes/gengo/issues/180

jpeach avatar Jun 10 '20 07:06 jpeach