diff --git a/Makefile b/Makefile index adefd0f647b8..fcc4985925cb 100644 --- a/Makefile +++ b/Makefile @@ -539,3 +539,4 @@ mdatagen-test: cd cmd/mdatagen && $(GOCMD) install . cd cmd/mdatagen && $(GOCMD) generate ./... cd cmd/mdatagen && $(GOCMD) test ./... + $(MAKE) gofmt diff --git a/cmd/mdatagen/internal/command.go b/cmd/mdatagen/internal/command.go index 5abe033a9436..c4c605144113 100644 --- a/cmd/mdatagen/internal/command.go +++ b/cmd/mdatagen/internal/command.go @@ -81,16 +81,16 @@ func run(ymlPath string) error { if md.Status != nil { if md.Status.Class != "cmd" && md.Status.Class != "pkg" && !md.Status.NotComponent { if err = generateFile(filepath.Join(tmplDir, "status.go.tmpl"), - filepath.Join(codeDir, "generated_status.go"), md, "metadata"); err != nil { + filepath.Join(codeDir, "generated_status.go"), md); err != nil { return err } - if err = generateFile(filepath.Join(tmplDir, "component_test.go.tmpl"), + if err = generateFileWithPackageName(filepath.Join(tmplDir, "component_test.go.tmpl"), filepath.Join(ymlDir, "generated_component_test.go"), md, packageName); err != nil { return err } } - if err = generateFile(filepath.Join(tmplDir, "package_test.go.tmpl"), + if err = generateFileWithPackageName(filepath.Join(tmplDir, "package_test.go.tmpl"), filepath.Join(ymlDir, "generated_package_test.go"), md, packageName); err != nil { return err } @@ -108,7 +108,7 @@ func run(ymlPath string) error { toGenerate := map[string]string{} if len(md.Telemetry.Metrics) != 0 { // if there are telemetry metrics, generate telemetry specific files - if err = generateFile(filepath.Join(tmplDir, "component_telemetry_test.go.tmpl"), + if err = generateFileWithPackageName(filepath.Join(tmplDir, "component_telemetry_test.go.tmpl"), filepath.Join(ymlDir, "generated_component_telemetry_test.go"), md, packageName); err != nil { return err } @@ -121,7 +121,7 @@ func run(ymlPath string) error { } for tmpl, dst := range toGenerate { - if err = generateFile(tmpl, dst, md, "metadata"); err != nil { + if err = generateFile(tmpl, dst, md); err != nil { return err } } @@ -151,7 +151,7 @@ func run(ymlPath string) error { } for tmpl, dst := range toGenerate { - if err = generateFile(tmpl, dst, md, md.GeneratedPackageName); err != nil { + if err = generateFile(tmpl, dst, md); err != nil { return err } } @@ -400,7 +400,11 @@ func inlineReplace(tmplFile string, outputFile string, md Metadata, start string return nil } -func generateFile(tmplFile string, outputFile string, md Metadata, goPackage string) error { +func generateFile(tmplFile string, outputFile string, md Metadata) error { + return generateFileWithPackageName(tmplFile, outputFile, md, md.GeneratedPackageName) +} + +func generateFileWithPackageName(tmplFile string, outputFile string, md Metadata, goPackage string) error { if err := os.Remove(outputFile); err != nil && !errors.Is(err, os.ErrNotExist) { return fmt.Errorf("unable to remove generated file %q: %w", outputFile, err) } diff --git a/cmd/mdatagen/internal/command_test.go b/cmd/mdatagen/internal/command_test.go index 27358666ed45..c1d41221d401 100644 --- a/cmd/mdatagen/internal/command_test.go +++ b/cmd/mdatagen/internal/command_test.go @@ -501,7 +501,8 @@ func TestGenerateStatusMetadata(t *testing.T) { { name: "foo component with beta status", md: Metadata{ - Type: "foo", + Type: "foo", + GeneratedPackageName: "metadata", Status: &Status{ Stability: map[component.StabilityLevel][]string{ component.StabilityLevelBeta: {"metrics"}, @@ -531,7 +532,8 @@ const ( { name: "foo component with alpha status", md: Metadata{ - Type: "foo", + Type: "foo", + GeneratedPackageName: "metadata", Status: &Status{ Stability: map[component.StabilityLevel][]string{ component.StabilityLevelAlpha: {"metrics"}, @@ -564,7 +566,7 @@ const ( t.Run(tt.name, func(t *testing.T) { tmpdir := t.TempDir() err := generateFile("templates/status.go.tmpl", - filepath.Join(tmpdir, "generated_status.go"), tt.md, "metadata") + filepath.Join(tmpdir, "generated_status.go"), tt.md) require.NoError(t, err) actual, err := os.ReadFile(filepath.Join(tmpdir, "generated_status.go")) // nolint: gosec require.NoError(t, err) @@ -583,7 +585,8 @@ func TestGenerateTelemetryMetadata(t *testing.T) { { name: "foo component with beta status", md: Metadata{ - Type: "foo", + Type: "foo", + GeneratedPackageName: "metadata", Status: &Status{ Stability: map[component.StabilityLevel][]string{ component.StabilityLevelBeta: {"metrics"}, @@ -621,7 +624,8 @@ func Tracer(settings component.TelemetrySettings) trace.Tracer { { name: "foo component with alpha status", md: Metadata{ - Type: "foo", + Type: "foo", + GeneratedPackageName: "metadata", Status: &Status{ Stability: map[component.StabilityLevel][]string{ component.StabilityLevelAlpha: {"metrics"}, @@ -662,7 +666,7 @@ func Tracer(settings component.TelemetrySettings) trace.Tracer { t.Run(tt.name, func(t *testing.T) { tmpdir := t.TempDir() err := generateFile("templates/telemetry.go.tmpl", - filepath.Join(tmpdir, "generated_telemetry.go"), tt.md, "metadata") + filepath.Join(tmpdir, "generated_telemetry.go"), tt.md) require.NoError(t, err) actual, err := os.ReadFile(filepath.Join(tmpdir, "generated_telemetry.go")) // nolint: gosec require.NoError(t, err)