@@ -11,13 +11,14 @@ import (
11
11
"time"
12
12
13
13
"github.com/briandowns/spinner"
14
- "github.com/coder/coder/coderd"
15
- "github.com/coder/coder/codersdk"
16
- "github.com/coder/coder/database"
17
14
"github.com/fatih/color"
18
15
"github.com/manifoldco/promptui"
19
16
"github.com/spf13/cobra"
20
17
"golang.org/x/xerrors"
18
+
19
+ "github.com/coder/coder/coderd"
20
+ "github.com/coder/coder/codersdk"
21
+ "github.com/coder/coder/database"
21
22
)
22
23
23
24
func projectCreate () * cobra.Command {
@@ -48,9 +49,8 @@ func projectCreate() *cobra.Command {
48
49
return err
49
50
}
50
51
51
- name := filepath .Base (workingDir )
52
- name , err = runPrompt (cmd , & promptui.Prompt {
53
- Default : name ,
52
+ name , err := runPrompt (cmd , & promptui.Prompt {
53
+ Default : filepath .Base (workingDir ),
54
54
Label : "What's your project's name?" ,
55
55
Validate : func (s string ) error {
56
56
_ , err = client .Project (cmd .Context (), organization .Name , s )
@@ -69,7 +69,7 @@ func projectCreate() *cobra.Command {
69
69
spin .Start ()
70
70
defer spin .Stop ()
71
71
72
- bytes , err := tarDir (workingDir )
72
+ bytes , err := tarDirectory (workingDir )
73
73
if err != nil {
74
74
return err
75
75
}
@@ -102,54 +102,50 @@ func projectCreate() *cobra.Command {
102
102
if ! ok {
103
103
break
104
104
}
105
- fmt .Fprintf (cmd .OutOrStdout (), "%s %s\n " , color .HiGreenString ("[parse]" ), log .Output )
105
+ _ , _ = fmt .Fprintf (cmd .OutOrStdout (), "%s %s\n " , color .HiGreenString ("[parse]" ), log .Output )
106
106
}
107
107
108
- fmt .Printf ( "Projects %+v %+v \n " , projects , organization )
108
+ _ , _ = fmt .Fprintf ( cmd . OutOrStdout (), "Create project %q! \n " , name )
109
109
return nil
110
110
},
111
111
}
112
112
}
113
113
114
- func tarDir (directory string ) ([]byte , error ) {
114
+ func tarDirectory (directory string ) ([]byte , error ) {
115
115
var buffer bytes.Buffer
116
- tw := tar .NewWriter (& buffer )
117
- // walk through every file in the folder
118
- err := filepath .Walk (directory , func (file string , fi os.FileInfo , err error ) error {
119
- // generate tar header
120
- header , err := tar .FileInfoHeader (fi , file )
116
+ tarWriter := tar .NewWriter (& buffer )
117
+ err := filepath .Walk (directory , func (file string , fileInfo os.FileInfo , err error ) error {
118
+ if err != nil {
119
+ return err
120
+ }
121
+ header , err := tar .FileInfoHeader (fileInfo , file )
121
122
if err != nil {
122
123
return err
123
124
}
124
-
125
- // must provide real name
126
- // (see https://golang.org/src/archive/tar/common.go?#L626)
127
125
rel , err := filepath .Rel (directory , file )
128
126
if err != nil {
129
127
return err
130
128
}
131
129
header .Name = rel
132
-
133
- // write header
134
- if err := tw .WriteHeader (header ); err != nil {
130
+ if err := tarWriter .WriteHeader (header ); err != nil {
135
131
return err
136
132
}
137
- // if not a dir, write file content
138
- if ! fi . IsDir () {
139
- data , err := os . Open ( file )
140
- if err != nil {
141
- return err
142
- }
143
- if _ , err := io . Copy ( tw , data ); err != nil {
144
- return err
145
- }
133
+ if fileInfo . IsDir () {
134
+ return nil
135
+ }
136
+ data , err := os . Open ( file )
137
+ if err != nil {
138
+ return err
139
+ }
140
+ if _ , err := io . Copy ( tarWriter , data ); err != nil {
141
+ return err
146
142
}
147
- return nil
143
+ return data . Close ()
148
144
})
149
145
if err != nil {
150
146
return nil , err
151
147
}
152
- err = tw .Flush ()
148
+ err = tarWriter .Flush ()
153
149
if err != nil {
154
150
return nil , err
155
151
}
0 commit comments