From 183722044b941826f772603659ad20f7863b7d92 Mon Sep 17 00:00:00 2001 From: Alper Rifat Ulucinar Date: Wed, 1 Jun 2022 19:49:40 +0300 Subject: [PATCH] Fix the bug involving multi-level reference resolution Signed-off-by: Alper Rifat Ulucinar --- pkg/pipeline/example.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/pipeline/example.go b/pkg/pipeline/example.go index 5b09de1d..ad7eb12b 100644 --- a/pkg/pipeline/example.go +++ b/pkg/pipeline/example.go @@ -174,6 +174,11 @@ func (eg *ExampleGenerator) resolveReferences(params map[string]interface{}) err if pm == nil || pm.paved == nil { continue } + // TODO(aru): we may need cycle detection here for malformed + // registry documentation + if err := eg.resolveReferences(pm.paved.UnstructuredContent()); err != nil { + return errors.Wrapf(err, "cannot recursively resolve references for %q", path[0]) + } pathStr := strings.Join(append([]string{"spec", "forProvider"}, path[2:]...), ".") s, err := pm.paved.GetString(pathStr) if fieldpath.IsNotFound(err) {