MCPcopy Create free account
hub / github.com/SignTools/SignTools / tarPackage

Function tarPackage

src/storage/job.go:87–117  ·  view source on GitHub ↗
(w *tar.Writer, fileGen *fileGetter)

Source from the content-addressed store, hash-verified

85}
86
87func 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
119func tarWriteFile(w *tar.Writer, name string, file ReadonlyFile) error {
120 stat, err := file.Stat()

Callers 1

writeArchiveMethod · 0.85

Calls 2

tarWriteFileFunction · 0.85
tarWriteBytesFunction · 0.85

Tested by

no test coverage detected