Skip to content

Commit cb369d9

Browse files
committed
Refactor cli package
Signed-off-by: Adrian Orive <[email protected]>
1 parent 5a78c19 commit cb369d9

19 files changed

+1427
-894
lines changed

cmd/main.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"log"
2121

2222
"sigs.k8s.io/kubebuilder/v2/pkg/cli"
23+
"sigs.k8s.io/kubebuilder/v2/pkg/model/config"
2324
pluginv2 "sigs.k8s.io/kubebuilder/v2/pkg/plugins/golang/v2"
2425
pluginv3 "sigs.k8s.io/kubebuilder/v2/pkg/plugins/golang/v3"
2526
)
@@ -28,11 +29,15 @@ func main() {
2829
c, err := cli.New(
2930
cli.WithCommandName("kubebuilder"),
3031
cli.WithVersion(versionString()),
32+
cli.WithDefaultProjectVersion(config.Version3Alpha),
3133
cli.WithPlugins(
3234
&pluginv2.Plugin{},
3335
&pluginv3.Plugin{},
3436
),
35-
cli.WithDefaultPlugins(
37+
cli.WithDefaultPlugins(config.Version2,
38+
&pluginv2.Plugin{},
39+
),
40+
cli.WithDefaultPlugins(config.Version3Alpha,
3641
&pluginv2.Plugin{},
3742
),
3843
cli.WithCompletion,

pkg/cli/api.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
"sigs.k8s.io/kubebuilder/v2/pkg/plugin"
2626
)
2727

28-
func (c *cli) newCreateAPICmd() *cobra.Command {
28+
func (c cli) newCreateAPICmd() *cobra.Command {
2929
ctx := c.newAPIContext()
3030
cmd := &cobra.Command{
3131
Use: "api",
@@ -43,19 +43,20 @@ func (c *cli) newCreateAPICmd() *cobra.Command {
4343
}
4444

4545
func (c cli) newAPIContext() plugin.Context {
46-
ctx := plugin.Context{
46+
return plugin.Context{
4747
CommandName: c.commandName,
4848
Description: `Scaffold a Kubernetes API.
4949
`,
5050
}
51-
if !c.configured {
52-
ctx.Description = fmt.Sprintf("%s\n%s", ctx.Description, runInProjectRootMsg)
53-
}
54-
return ctx
5551
}
5652

5753
// nolint:dupl
5854
func (c cli) bindCreateAPI(ctx plugin.Context, cmd *cobra.Command) {
55+
if len(c.resolvedPlugins) == 0 {
56+
cmdErr(cmd, fmt.Errorf(noPluginError))
57+
return
58+
}
59+
5960
var createAPIPlugin plugin.CreateAPI
6061
for _, p := range c.resolvedPlugins {
6162
tmpPlugin, isValid := p.(plugin.CreateAPI)
@@ -71,8 +72,7 @@ func (c cli) bindCreateAPI(ctx plugin.Context, cmd *cobra.Command) {
7172
}
7273

7374
if createAPIPlugin == nil {
74-
err := fmt.Errorf("relevant plugins do not provide an API creation plugin")
75-
cmdErr(cmd, err)
75+
cmdErr(cmd, fmt.Errorf("resolved plugins do not provide an API creation plugin: %v", c.pluginKeys))
7676
return
7777
}
7878

0 commit comments

Comments
 (0)