@@ -28,6 +28,7 @@ import (
28
28
29
29
"sigs.k8s.io/kubebuilder/cmd/util"
30
30
"sigs.k8s.io/kubebuilder/pkg/scaffold"
31
+ "sigs.k8s.io/kubebuilder/pkg/scaffold/project"
31
32
"sigs.k8s.io/kubebuilder/pkg/scaffold/v1/resource"
32
33
)
33
34
@@ -66,15 +67,28 @@ func resourceForFlags(f *flag.FlagSet) *resource.Resource {
66
67
// APICmd represents the resource command
67
68
func (o * apiOptions ) runAddAPI () {
68
69
dieIfNoProject ()
69
-
70
+ projectInfo , err := scaffold .LoadProjectFile ("PROJECT" )
71
+ if err != nil {
72
+ log .Fatalf ("failed to read the PROJECT file: %v" , err )
73
+ }
70
74
reader := bufio .NewReader (os .Stdin )
71
75
if ! o .resourceFlag .Changed {
72
- fmt .Println ("Create Resource under api [y/n]?" )
76
+ if projectInfo .Version == project .Version1 {
77
+ fmt .Println ("Create Resource under pkg/apis [y/n]" )
78
+ }
79
+ if projectInfo .Version == project .Version2 {
80
+ fmt .Println ("Create Resource under api [y/n]" )
81
+ }
73
82
o .apiScaffolder .DoResource = util .Yesno (reader )
74
83
}
75
84
76
85
if ! o .controllerFlag .Changed {
77
- fmt .Println ("Create Controller under controllers [y/n]?" )
86
+ if projectInfo .Version == project .Version1 {
87
+ fmt .Println ("Create Controller under pkg/controller [y/n]" )
88
+ }
89
+ if projectInfo .Version == project .Version2 {
90
+ fmt .Println ("Create Controller under controllers [y/n]" )
91
+ }
78
92
o .apiScaffolder .DoController = util .Yesno (reader )
79
93
}
80
94
@@ -124,7 +138,8 @@ After the scaffold is written, api will run make on the project.
124
138
` ,
125
139
Example : ` # Create a frigates API with Group: ship, Version: v1beta1 and Kind: Frigate
126
140
kubebuilder create api --group ship --version v1beta1 --kind Frigate
127
-
141
+
142
+ # Project Version 2
128
143
# Edit the API Scheme
129
144
nano api/ship/v1beta1/frigate_types.go
130
145
0 commit comments