Skip to content

Commit d921da4

Browse files
Merge pull request #120 from A-Hilaly/refactor
Refactor `pkg/generate` package
2 parents e050b9f + ec04916 commit d921da4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+286
-307
lines changed

cmd/ack-generate/command/apis.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ import (
2222

2323
"github.com/spf13/cobra"
2424

25-
generate "github.com/aws-controllers-k8s/code-generator/pkg/generate"
2625
ackgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/ack"
27-
"github.com/aws-controllers-k8s/code-generator/pkg/model"
26+
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
2827
"github.com/aws-controllers-k8s/code-generator/pkg/util"
2928
)
3029

@@ -97,7 +96,7 @@ func generateAPIs(cmd *cobra.Command, args []string) error {
9796
if err := ensureSDKRepo(ctx, optCacheDir, optRefreshCache); err != nil {
9897
return err
9998
}
100-
sdkHelper := model.NewSDKHelper(sdkDir)
99+
sdkHelper := ackmodel.NewSDKHelper(sdkDir)
101100
sdkAPI, err := sdkHelper.API(svcAlias)
102101
if err != nil {
103102
newSvcAlias, err := FallBackFindServiceID(sdkDir, svcAlias)
@@ -109,13 +108,13 @@ func generateAPIs(cmd *cobra.Command, args []string) error {
109108
return fmt.Errorf("service %s not found", svcAlias)
110109
}
111110
}
112-
g, err := generate.New(
111+
model, err := ackmodel.New(
113112
sdkAPI, optGenVersion, optGeneratorConfigPath, ackgenerate.DefaultConfig,
114113
)
115114
if err != nil {
116115
return err
117116
}
118-
ts, err := ackgenerate.APIs(g, optTemplateDirs)
117+
ts, err := ackgenerate.APIs(model, optTemplateDirs)
119118
if err != nil {
120119
return err
121120
}

cmd/ack-generate/command/controller.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"github.com/spf13/cobra"
2828
k8sversion "k8s.io/apimachinery/pkg/version"
2929

30-
"github.com/aws-controllers-k8s/code-generator/pkg/generate"
3130
ackgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/ack"
3231
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
3332
)
@@ -79,13 +78,13 @@ func generateController(cmd *cobra.Command, args []string) error {
7978
if err != nil {
8079
return err
8180
}
82-
g, err := generate.New(
81+
m, err := ackmodel.New(
8382
sdkAPI, latestAPIVersion, optGeneratorConfigPath, ackgenerate.DefaultConfig,
8483
)
8584
if err != nil {
8685
return err
8786
}
88-
ts, err := ackgenerate.Controller(g, optTemplateDirs)
87+
ts, err := ackgenerate.Controller(m, optTemplateDirs)
8988
if err != nil {
9089
return err
9190
}

cmd/ack-generate/command/crossplane.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ import (
2525
"github.com/pkg/errors"
2626
"github.com/spf13/cobra"
2727

28-
"github.com/aws-controllers-k8s/code-generator/pkg/generate"
2928
cpgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/crossplane"
3029
"github.com/aws-controllers-k8s/code-generator/pkg/model"
30+
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
3131
)
3232

3333
// crossplaneCmd is the command that generates Crossplane API types
@@ -77,14 +77,14 @@ func generateCrossplane(_ *cobra.Command, args []string) error {
7777
if os.IsNotExist(err) {
7878
cfgPath = ""
7979
}
80-
g, err := generate.New(
80+
m, err := ackmodel.New(
8181
sdkAPI, optGenVersion, cfgPath, cpgenerate.DefaultConfig,
8282
)
8383
if err != nil {
8484
return err
8585
}
8686

87-
ts, err := cpgenerate.Crossplane(g, optTemplateDirs)
87+
ts, err := cpgenerate.Crossplane(m, optTemplateDirs)
8888
if err != nil {
8989
return err
9090
}

cmd/ack-generate/command/olm.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"github.com/ghodss/yaml"
2424
"github.com/spf13/cobra"
2525

26-
generate "github.com/aws-controllers-k8s/code-generator/pkg/generate"
2726
ackgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/ack"
2827
olmgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/olm"
2928
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
@@ -104,7 +103,7 @@ func generateOLMAssets(cmd *cobra.Command, args []string) error {
104103
if err != nil {
105104
return err
106105
}
107-
g, err := generate.New(
106+
m, err := ackmodel.New(
108107
sdkAPI, latestAPIVersion, optGeneratorConfigPath, ackgenerate.DefaultConfig,
109108
)
110109
if err != nil {
@@ -141,7 +140,7 @@ func generateOLMAssets(cmd *cobra.Command, args []string) error {
141140
}
142141

143142
// generate templates
144-
ts, err := olmgenerate.BundleAssets(g, commonMeta, svcConf, version, optTemplateDirs)
143+
ts, err := olmgenerate.BundleAssets(m, commonMeta, svcConf, version, optTemplateDirs)
145144
if err != nil {
146145
return err
147146
}

cmd/ack-generate/command/release.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222

2323
"github.com/spf13/cobra"
2424

25-
"github.com/aws-controllers-k8s/code-generator/pkg/generate"
2625
ackgenerate "github.com/aws-controllers-k8s/code-generator/pkg/generate/ack"
2726
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
2827
)
@@ -83,14 +82,14 @@ func generateRelease(cmd *cobra.Command, args []string) error {
8382
return fmt.Errorf("service %s not found", svcAlias)
8483
}
8584
}
86-
g, err := generate.New(
85+
m, err := ackmodel.New(
8786
sdkAPI, "", optGeneratorConfigPath, ackgenerate.DefaultConfig,
8887
)
8988
if err != nil {
9089
return err
9190
}
9291
ts, err := ackgenerate.Release(
93-
g, optTemplateDirs,
92+
m, optTemplateDirs,
9493
releaseVersion, optImageRepository, optServiceAccountName,
9594
)
9695
if err != nil {

pkg/generate/ack/apis.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818
"strings"
1919
ttpl "text/template"
2020

21-
"github.com/aws-controllers-k8s/code-generator/pkg/generate"
2221
"github.com/aws-controllers-k8s/code-generator/pkg/generate/templateset"
2322
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
2423
"github.com/iancoleman/strcase"
@@ -45,18 +44,18 @@ var (
4544
// APIs returns a pointer to a TemplateSet containing all the templates for
4645
// generating ACK service controller's apis/ contents
4746
func APIs(
48-
g *generate.Generator,
47+
m *ackmodel.Model,
4948
templateBasePaths []string,
5049
) (*templateset.TemplateSet, error) {
51-
enumDefs, err := g.GetEnumDefs()
50+
enumDefs, err := m.GetEnumDefs()
5251
if err != nil {
5352
return nil, err
5453
}
55-
typeDefs, err := g.GetTypeDefs()
54+
typeDefs, err := m.GetTypeDefs()
5655
if err != nil {
5756
return nil, err
5857
}
59-
crds, err := g.GetCRDs()
58+
crds, err := m.GetCRDs()
6059
if err != nil {
6160
return nil, err
6261
}
@@ -68,7 +67,7 @@ func APIs(
6867
apisFuncMap,
6968
)
7069

71-
metaVars := g.MetaVars()
70+
metaVars := m.MetaVars()
7271
apiVars := &templateAPIVars{
7372
metaVars,
7473
enumDefs,

pkg/generate/ack/controller.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818
"strings"
1919
ttpl "text/template"
2020

21-
"github.com/aws-controllers-k8s/code-generator/pkg/generate"
2221
"github.com/aws-controllers-k8s/code-generator/pkg/generate/code"
2322
ackgenconfig "github.com/aws-controllers-k8s/code-generator/pkg/generate/config"
2423
"github.com/aws-controllers-k8s/code-generator/pkg/generate/templateset"
@@ -118,15 +117,15 @@ var (
118117
// Controller returns a pointer to a TemplateSet containing all the templates
119118
// for generating ACK service controller implementations
120119
func Controller(
121-
g *generate.Generator,
120+
m *ackmodel.Model,
122121
templateBasePaths []string,
123122
) (*templateset.TemplateSet, error) {
124-
crds, err := g.GetCRDs()
123+
crds, err := m.GetCRDs()
125124
if err != nil {
126125
return nil, err
127126
}
128127

129-
metaVars := g.MetaVars()
128+
metaVars := m.MetaVars()
130129

131130
// Hook code can reference a template path, and we can look up the template
132131
// in any of our base paths...
@@ -176,7 +175,7 @@ func Controller(
176175

177176
configVars := &templateConfigVars{
178177
metaVars,
179-
g.GetConfig(),
178+
m.GetConfig(),
180179
}
181180
if err = ts.Add("pkg/resource/registry.go", "pkg/resource/registry.go.tpl", configVars); err != nil {
182181
return nil, err

pkg/generate/ack/hook_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func TestResourceHookCodeInline(t *testing.T) {
3131
basePaths := []string{}
3232
hookID := "sdk_update_pre_build_request"
3333

34-
g := testutil.NewGeneratorForService(t, "mq")
34+
g := testutil.NewModelForService(t, "mq")
3535

3636
crd := testutil.GetCRDByName(t, g, "Broker")
3737
require.NotNil(crd)
@@ -52,7 +52,7 @@ func TestResourceHookCodeTemplatePath(t *testing.T) {
5252
}
5353
hookID := "sdk_delete_pre_build_request"
5454

55-
g := testutil.NewGeneratorForService(t, "mq")
55+
g := testutil.NewModelForService(t, "mq")
5656

5757
crd := testutil.GetCRDByName(t, g, "Broker")
5858
require.NotNil(crd)

pkg/generate/ack/release.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import (
1717
"strings"
1818
ttpl "text/template"
1919

20-
"github.com/aws-controllers-k8s/code-generator/pkg/generate"
2120
"github.com/aws-controllers-k8s/code-generator/pkg/generate/templateset"
21+
ackmodel "github.com/aws-controllers-k8s/code-generator/pkg/model"
2222
)
2323

2424
var (
@@ -47,7 +47,7 @@ var (
4747
// Release returns a pointer to a TemplateSet containing all the templates for
4848
// generating an ACK service controller release (Helm artifacts, etc)
4949
func Release(
50-
g *generate.Generator,
50+
m *ackmodel.Model,
5151
templateBasePaths []string,
5252
// releaseVersion is the SemVer string describing the release that the Helm
5353
// chart will install
@@ -66,7 +66,7 @@ func Release(
6666
releaseFuncMap,
6767
)
6868

69-
metaVars := g.MetaVars()
69+
metaVars := m.MetaVars()
7070
releaseVars := &templateReleaseVars{
7171
metaVars,
7272
releaseVersion,

pkg/generate/code/check_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func TestCheckRequiredFields_Attributes_ARNField(t *testing.T) {
2929
assert := assert.New(t)
3030
require := require.New(t)
3131

32-
g := testutil.NewGeneratorForService(t, "sns")
32+
g := testutil.NewModelForService(t, "sns")
3333

3434
crd := testutil.GetCRDByName(t, g, "Topic")
3535
require.NotNil(crd)
@@ -57,7 +57,7 @@ func TestCheckRequiredFields_Attributes_StatusField(t *testing.T) {
5757
assert := assert.New(t)
5858
require := require.New(t)
5959

60-
g := testutil.NewGeneratorForService(t, "sqs")
60+
g := testutil.NewModelForService(t, "sqs")
6161

6262
crd := testutil.GetCRDByName(t, g, "Queue")
6363
require.NotNil(crd)
@@ -78,7 +78,7 @@ func TestCheckRequiredFields_Attributes_StatusAndSpecField(t *testing.T) {
7878
assert := assert.New(t)
7979
require := require.New(t)
8080

81-
g := testutil.NewGeneratorForService(t, "apigatewayv2")
81+
g := testutil.NewModelForService(t, "apigatewayv2")
8282

8383
crd := testutil.GetCRDByName(t, g, "Route")
8484
require.NotNil(crd)
@@ -99,7 +99,7 @@ func TestCheckRequiredFields_RenamedSpecField(t *testing.T) {
9999
assert := assert.New(t)
100100
require := require.New(t)
101101

102-
g := testutil.NewGeneratorForService(t, "eks")
102+
g := testutil.NewModelForService(t, "eks")
103103

104104
crd := testutil.GetCRDByName(t, g, "FargateProfile")
105105
require.NotNil(crd)

0 commit comments

Comments
 (0)