(w *tar.Writer, fileGen *fileGetter)
| 85 | } |
| 86 | |
| 87 | func tarPackage(w *tar.Writer, fileGen *fileGetter) error { |
| 88 | if fileGen.f1 != nil { |
| 89 | file, err := fileGen.f1() |
| 90 | if err != nil { |
| 91 | return errors.WithMessage(err, "read "+fileGen.name) |
| 92 | } |
| 93 | defer file.Close() |
| 94 | if err := tarWriteFile(w, fileGen.name, file); err != nil { |
| 95 | return errors.WithMessage(err, "write file") |
| 96 | } |
| 97 | } else if fileGen.f2 != nil { |
| 98 | data, err := fileGen.f2() |
| 99 | if err != nil { |
| 100 | return errors.WithMessage(err, "read "+fileGen.name) |
| 101 | } |
| 102 | if err := tarWriteBytes(w, fileGen.name, []byte(data)); err != nil { |
| 103 | return errors.WithMessage(err, "write bytes") |
| 104 | } |
| 105 | } else if fileGen.f3 != nil { |
| 106 | data, err := fileGen.f3() |
| 107 | if err != nil { |
| 108 | return errors.WithMessage(err, "read "+fileGen.name) |
| 109 | } |
| 110 | if err := tarWriteBytes(w, fileGen.name, data); err != nil { |
| 111 | return errors.WithMessage(err, "write bytes") |
| 112 | } |
| 113 | } else { |
| 114 | log.Fatal().Msg("badly initialized fileGetter") |
| 115 | } |
| 116 | return nil |
| 117 | } |
| 118 | |
| 119 | func tarWriteFile(w *tar.Writer, name string, file ReadonlyFile) error { |
| 120 | stat, err := file.Stat() |
no test coverage detected