Skip to content

Commit

Permalink
feat: worked on creating helper function for alpha generate Command
Browse files Browse the repository at this point in the history
  • Loading branch information
Bharadwajshivam28 committed Oct 17, 2024
1 parent e451dfe commit e9b5f4d
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 5 deletions.
7 changes: 2 additions & 5 deletions pkg/cli/alpha/command.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,9 @@ using the current version of KubeBuilder binary available.
$ kubebuilder alpha generate --input-dir="./test" --output-dir="./my-output"
Then we will re-scaffold the project by Kubebuilder in the directory specified by 'output-dir'.
`,
PreRunE: func(_ *cobra.Command, _ []string) error {
return opts.Validate()
},
Run: func(_ *cobra.Command, _ []string) {
if err := opts.Generate(); err != nil {
log.Fatalf("Failed to command %s", err)
if err := internal.RunGenerate(&opts); err != nil {
log.Fatalf("Failed to generate: %v", err)
}
},
}
Expand Down
41 changes: 41 additions & 0 deletions pkg/cli/alpha/internal/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -392,3 +392,44 @@ func kubebuilderGrafanaEdit() error {
}
return nil
}

func RunGenerate(opts *Generate) error {
if err := opts.Validate(); err != nil {
return fmt.Errorf("validation failed: %w", err)
}

config, err := loadProjectConfig(opts.InputDir)
if err != nil {
return fmt.Errorf("failed to load project config: %w", err)
}

if err := createDirectory(opts.OutputDir); err != nil {
return fmt.Errorf("failed to create output directory: %w", err)
}

if err := changeWorkingDirectory(opts.OutputDir); err != nil {
return fmt.Errorf("failed to change working directory: %w", err)
}

if err := kubebuilderInit(config); err != nil {
return fmt.Errorf("failed to initialize kubebuilder: %w", err)
}

if err := kubebuilderEdit(config); err != nil {
return fmt.Errorf("failed to edit Kubebuilder config: %w", err)
}

if err := kubebuilderCreate(config); err != nil {
return fmt.Errorf("failed to create Kubebuilder resources: %w", err)
}

if err := migrateGrafanaPlugin(config, opts.InputDir, opts.OutputDir); err != nil {
return fmt.Errorf("failed to migrate Grafana plugin: %w", err)
}

if err := migrateDeployImagePlugin(config); err != nil {
return fmt.Errorf("failed to migrate Deploy Image plugin: %w", err)
}

return nil
}

0 comments on commit e9b5f4d

Please sign in to comment.