(filePath string, fileMode fs.FileMode, fileInfo fs.FileInfo)
| 249 | } |
| 250 | |
| 251 | func fileHeader(filePath string, fileMode fs.FileMode, fileInfo fs.FileInfo) (*tar.Header, error) { |
| 252 | header, err := tar.FileInfoHeader(fileInfo, "") |
| 253 | if err != nil { |
| 254 | return nil, xerrors.Errorf("failed to archive module file %q: %w", filePath, err) |
| 255 | } |
| 256 | header.Name = filePath |
| 257 | if fileMode.IsDir() { |
| 258 | header.Name += "/" |
| 259 | } |
| 260 | // Erase a bunch of metadata that we don't need so that we get more consistent |
| 261 | // hashes from the resulting archive. |
| 262 | header.AccessTime = time.Time{} |
| 263 | header.ChangeTime = time.Time{} |
| 264 | header.ModTime = time.Time{} |
| 265 | header.Uid = 1000 |
| 266 | header.Uname = "" |
| 267 | header.Gid = 1000 |
| 268 | header.Gname = "" |
| 269 | |
| 270 | return header, nil |
| 271 | } |
| 272 | |
| 273 | func defaultFileHeader(filePath string, length int) *tar.Header { |
| 274 | return &tar.Header{ |
no test coverage detected