@@ -39,7 +39,6 @@ import (
3939 "sigs.k8s.io/yaml"
4040
4141 "tools/openapi2crd/pkg/apis/config/v1alpha1"
42- "tools/openapi2crd/pkg/atlas"
4342 "tools/openapi2crd/pkg/config"
4443 "tools/openapi2crd/pkg/plugins"
4544)
@@ -48,13 +47,20 @@ type Generator struct {
4847 definitions map [string ]v1alpha1.OpenAPIDefinition
4948 pluginSet * plugins.Set
5049 openapiLoader config.Loader
50+ atlasLoader config.Loader
5151}
5252
53- func NewGenerator (openAPIDefinitions map [string ]v1alpha1.OpenAPIDefinition , pluginSet * plugins.Set , openapiLoader config.Loader ) * Generator {
53+ func NewGenerator (
54+ openAPIDefinitions map [string ]v1alpha1.OpenAPIDefinition ,
55+ pluginSet * plugins.Set ,
56+ openapiLoader config.Loader ,
57+ atlasLoader config.Loader ,
58+ ) * Generator {
5459 return & Generator {
5560 definitions : openAPIDefinitions ,
5661 pluginSet : pluginSet ,
5762 openapiLoader : openapiLoader ,
63+ atlasLoader : atlasLoader ,
5864 }
5965}
6066
@@ -81,19 +87,19 @@ func (g *Generator) Generate(ctx context.Context, crdConfig *v1alpha1.CRDConfig)
8187 }
8288
8389 var openApiSpec * openapi3.T
90+ var err error
8491
85- path := def .Path
86- if path == "" {
87- var err error
88- path , err = atlas .LoadOpenAPIPath (def .Package )
92+ switch def .Path {
93+ case "" :
94+ openApiSpec , err = g .atlasLoader .Load (ctx , def .Package )
8995 if err != nil {
90- return nil , fmt .Errorf ("error loading OpenAPI package %q: %w" , def .Package , err )
96+ return nil , fmt .Errorf ("error loading Atlas OpenAPI package %q: %w" , def .Package , err )
97+ }
98+ default :
99+ openApiSpec , err = g .openapiLoader .Load (ctx , def .Path )
100+ if err != nil {
101+ return nil , fmt .Errorf ("error loading spec: %w" , err )
91102 }
92- }
93-
94- openApiSpec , err = g .openapiLoader .Load (path )
95- if err != nil {
96- return nil , fmt .Errorf ("error loading spec: %w" , err )
97103 }
98104
99105 for _ , p := range g .pluginSet .Mapping {
@@ -145,7 +151,7 @@ func (g *Generator) Generate(ctx context.Context, crdConfig *v1alpha1.CRDConfig)
145151}
146152
147153func (g * Generator ) majorVersions (config v1alpha1.CRDConfig ) []string {
148- var result []string
154+ result := make ( []string , 0 , len ( config . Mappings ))
149155 for _ , m := range config .Mappings {
150156 result = append (result , "- " + m .MajorVersion )
151157 }
0 commit comments