@@ -19,8 +19,6 @@ import (
19
19
"bytes"
20
20
"encoding/base64"
21
21
"fmt"
22
- "archive/tar"
23
- "compress/gzip"
24
22
"io"
25
23
"net/http"
26
24
"os"
@@ -125,69 +123,6 @@ func ExecCmd(cmdStr string, suppressStdout bool) (int, error) {
125
123
return 0 , nil
126
124
}
127
125
128
- func ExtractTarGZ (tarBallFile , targetDir , pathInTar string ) error {
129
- // create targetDir if not exists
130
- if _ , err := os .Stat (targetDir ); os .IsNotExist (err ) {
131
- err := os .MkdirAll (targetDir , 0755 )
132
- if err != nil {
133
- return fmt .Errorf ("failed to create target directory: %v" , err )
134
- }
135
- }
136
-
137
- // open tar.gz file
138
- file , err := os .Open (tarBallFile )
139
- if err != nil {
140
- return fmt .Errorf ("failed to open file %s: %v" , tarBallFile , err )
141
- }
142
- defer file .Close ()
143
-
144
- // create gzip reader
145
- reader , err := gzip .NewReader (file )
146
- if err != nil {
147
- return fmt .Errorf ("failed to create gzip reader: %v" , err )
148
- }
149
- defer reader .Close ()
150
-
151
- // create tar reader and copy files to target directory
152
- tarReader := tar .NewReader (reader )
153
- for {
154
- header , err := tarReader .Next ()
155
- if err == io .EOF {
156
- break
157
- }
158
- if err != nil {
159
- return fmt .Errorf ("failed to read tar entry: %v" , err )
160
- }
161
-
162
- if pathInTar != "" && ! strings .HasPrefix (header .Name , pathInTar ) {
163
- continue
164
- }
165
-
166
- switch header .Typeflag {
167
- case tar .TypeDir :
168
- if _ , err := os .Stat (filepath .Join (targetDir , filepath .Base (header .Name ))); os .IsNotExist (err ) {
169
- err := os .MkdirAll (filepath .Join (targetDir , filepath .Base (header .Name )), 0755 )
170
- if err != nil {
171
- return fmt .Errorf ("failed to create directory: %v" , err )
172
- }
173
- }
174
- case tar .TypeReg :
175
- targetFile , err := os .Create (filepath .Join (targetDir , filepath .Base (header .Name )))
176
- if err != nil {
177
- return fmt .Errorf ("failed to create target file: %v" , err )
178
- }
179
- defer targetFile .Close ()
180
- if _ , err := io .Copy (targetFile , tarReader ); err != nil {
181
- return fmt .Errorf ("failed to write target file: %v" , err )
182
- }
183
- default :
184
- return fmt .Errorf ("unsupported tar entry type: %v in : %v" , header .Typeflag , header .Name )
185
- }
186
- }
187
-
188
- return nil
189
- }
190
-
191
126
func GetEnv (key , fallback string ) string {
192
127
value := os .Getenv (key )
193
128
if len (value ) == 0 {
0 commit comments