func verifyMissingDependencies()

in script/validator/validator.go [92:121]


func verifyMissingDependencies(kamelets []KameletInfo) (errors []error) {
	for _, kamelet := range kamelets {
		yamlDslTemplate, err := dsl.TemplateToYamlDSL(*kamelet.Kamelet.Spec.Template, kamelet.Kamelet.Name)
		if err != nil {
			panic(err)
		}

		code := camelapiv1.SourceSpec{
			DataSpec: camelapiv1.DataSpec{
				Name:    "source.yaml",
				Content: string(yamlDslTemplate),
			},
			Language: camelapiv1.LanguageYaml,
		}

		catalog, _ := camel.DefaultCatalog()
		meta, _ := metadata.Extract(catalog, code)

		if meta.Metadata.Dependencies != nil {
			meta.Metadata.Dependencies.Each(func(extractedDep string) bool {
				if !containsDependency(kamelet, extractedDep) {
					errors = append(errors, fmt.Errorf("kamelet %q need dependency %q", kamelet.Name, extractedDep))
				}
				return true
			})
		}
	}

	return errors
}