File tree Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ limitations under the License.
17
17
package initproject
18
18
19
19
import (
20
+ "bufio"
20
21
"fmt"
21
22
"log"
22
23
"os"
@@ -71,8 +72,9 @@ func (o *projectOptions) RunInit() {
71
72
}
72
73
73
74
if ! o .depFlag .Changed {
75
+ reader := bufio .NewReader (os .Stdin )
74
76
fmt .Println ("Run `dep ensure` to fetch dependencies (Recommended) [y/n]?" )
75
- o .dep = util .Yesno ()
77
+ o .dep = util .Yesno (reader )
76
78
}
77
79
if o .dep {
78
80
c := exec .Command ("dep" , "ensure" ) // #nosec
Original file line number Diff line number Diff line change @@ -18,21 +18,23 @@ package util
18
18
19
19
import (
20
20
"bufio"
21
+ "fmt"
21
22
"log"
22
- "os"
23
23
"strings"
24
24
)
25
25
26
26
// Yesno reads from stdin looking for one of "y", "yes", "n", "no" and returns
27
27
// true for "y" and false for "n"
28
- func Yesno () bool {
29
- reader := bufio .NewReader (os .Stdin )
28
+ func Yesno (reader * bufio.Reader ) bool {
30
29
for {
31
- switch readstdin (reader ) {
30
+ text := readstdin (reader )
31
+ switch text {
32
32
case "y" , "yes" :
33
33
return true
34
34
case "n" , "no" :
35
35
return false
36
+ default :
37
+ fmt .Printf ("invalid input %q, should be [y/n]" , text )
36
38
}
37
39
}
38
40
}
@@ -42,7 +44,7 @@ func Yesno() bool {
42
44
func readstdin (reader * bufio.Reader ) string {
43
45
text , err := reader .ReadString ('\n' )
44
46
if err != nil {
45
- log .Fatal ( err )
47
+ log .Fatalf ( "Error when reading input: %v" , err )
46
48
}
47
49
return strings .TrimSpace (text )
48
50
}
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ limitations under the License.
17
17
package v1
18
18
19
19
import (
20
+ "bufio"
20
21
"fmt"
21
22
"log"
22
23
"os"
@@ -44,13 +45,14 @@ type apiOptions struct {
44
45
func (o * apiOptions ) RunAddAPI () {
45
46
dieIfNoProject ()
46
47
48
+ reader := bufio .NewReader (os .Stdin )
47
49
if ! o .resourceFlag .Changed {
48
50
fmt .Println ("Create Resource under pkg/apis [y/n]?" )
49
- o .doResource = util .Yesno ()
51
+ o .doResource = util .Yesno (reader )
50
52
}
51
53
if ! o .controllerFlag .Changed {
52
54
fmt .Println ("Create Controller under pkg/controller [y/n]?" )
53
- o .doController = util .Yesno ()
55
+ o .doController = util .Yesno (reader )
54
56
}
55
57
56
58
fmt .Println ("Writing scaffold for you to edit..." )
You can’t perform that action at this time.
0 commit comments