зеркало из https://github.com/microsoft/docker.git
tarsum: TarSum is not the interface
don't export the exsisting TarSum struct and call the interface 'TarSum' instead. Signed-off-by: Vincent Batts <vbatts@redhat.com>
This commit is contained in:
Родитель
2d1c8bd786
Коммит
ec01eb653d
|
@ -93,12 +93,12 @@ type Builder struct {
|
|||
// both of these are controlled by the Remove and ForceRemove options in BuildOpts
|
||||
TmpContainers map[string]struct{} // a map of containers used for removes
|
||||
|
||||
dockerfile *parser.Node // the syntax tree of the dockerfile
|
||||
image string // image name for commit processing
|
||||
maintainer string // maintainer name. could probably be removed.
|
||||
cmdSet bool // indicates is CMD was set in current Dockerfile
|
||||
context tarsum.TarSumInterface // the context is a tarball that is uploaded by the client
|
||||
contextPath string // the path of the temporary directory the local context is unpacked to (server side)
|
||||
dockerfile *parser.Node // the syntax tree of the dockerfile
|
||||
image string // image name for commit processing
|
||||
maintainer string // maintainer name. could probably be removed.
|
||||
cmdSet bool // indicates is CMD was set in current Dockerfile
|
||||
context tarsum.TarSum // the context is a tarball that is uploaded by the client
|
||||
contextPath string // the path of the temporary directory the local context is unpacked to (server side)
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -167,7 +167,10 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
tarSum := &tarsum.TarSum{Reader: r, DisableCompression: true}
|
||||
tarSum, err := tarsum.NewTarSum(r, true, tarsum.Version0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := io.Copy(ioutil.Discard, tarSum); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -28,24 +28,24 @@ const (
|
|||
// This is used for calculating checksums of layers of an image, in some cases
|
||||
// including the byte payload of the image's json metadata as well, and for
|
||||
// calculating the checksums for buildcache.
|
||||
func NewTarSum(r io.Reader, dc bool, v Version) (TarSumInterface, error) {
|
||||
func NewTarSum(r io.Reader, dc bool, v Version) (TarSum, error) {
|
||||
if _, ok := tarSumVersions[v]; !ok {
|
||||
return nil, ErrVersionNotImplemented
|
||||
}
|
||||
return &TarSum{Reader: r, DisableCompression: dc, tarSumVersion: v}, nil
|
||||
return &tarSum{Reader: r, DisableCompression: dc, tarSumVersion: v}, nil
|
||||
}
|
||||
|
||||
// TarSumInterface is the generic interface for calculating fixed time
|
||||
// TarSum is the generic interface for calculating fixed time
|
||||
// checksums of a tar archive
|
||||
type TarSumInterface interface {
|
||||
type TarSum interface {
|
||||
io.Reader
|
||||
GetSums() map[string]string
|
||||
Sum([]byte) string
|
||||
Version() Version
|
||||
}
|
||||
|
||||
// TarSum struct is the structure for a Version0 checksum calculation
|
||||
type TarSum struct {
|
||||
// tarSum struct is the structure for a Version0 checksum calculation
|
||||
type tarSum struct {
|
||||
io.Reader
|
||||
tarR *tar.Reader
|
||||
tarW *tar.Writer
|
||||
|
@ -62,11 +62,11 @@ type TarSum struct {
|
|||
tarSumVersion Version // this field is not exported so it can not be mutated during use
|
||||
}
|
||||
|
||||
func (ts TarSum) Version() Version {
|
||||
func (ts tarSum) Version() Version {
|
||||
return ts.tarSumVersion
|
||||
}
|
||||
|
||||
func (ts TarSum) selectHeaders(h *tar.Header, v Version) (set [][2]string) {
|
||||
func (ts tarSum) selectHeaders(h *tar.Header, v Version) (set [][2]string) {
|
||||
for _, elem := range [][2]string{
|
||||
{"name", h.Name},
|
||||
{"mode", strconv.Itoa(int(h.Mode))},
|
||||
|
@ -89,7 +89,7 @@ func (ts TarSum) selectHeaders(h *tar.Header, v Version) (set [][2]string) {
|
|||
return
|
||||
}
|
||||
|
||||
func (ts *TarSum) encodeHeader(h *tar.Header) error {
|
||||
func (ts *tarSum) encodeHeader(h *tar.Header) error {
|
||||
for _, elem := range ts.selectHeaders(h, ts.Version()) {
|
||||
if _, err := ts.h.Write([]byte(elem[0] + elem[1])); err != nil {
|
||||
return err
|
||||
|
@ -98,7 +98,7 @@ func (ts *TarSum) encodeHeader(h *tar.Header) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (ts *TarSum) Read(buf []byte) (int, error) {
|
||||
func (ts *tarSum) Read(buf []byte) (int, error) {
|
||||
if ts.gz == nil {
|
||||
ts.bufTar = bytes.NewBuffer([]byte{})
|
||||
ts.bufGz = bytes.NewBuffer([]byte{})
|
||||
|
@ -197,7 +197,7 @@ func (ts *TarSum) Read(buf []byte) (int, error) {
|
|||
return ts.bufGz.Read(buf)
|
||||
}
|
||||
|
||||
func (ts *TarSum) Sum(extra []byte) string {
|
||||
func (ts *tarSum) Sum(extra []byte) string {
|
||||
var sums []string
|
||||
|
||||
for _, sum := range ts.sums {
|
||||
|
@ -217,6 +217,6 @@ func (ts *TarSum) Sum(extra []byte) string {
|
|||
return checksum
|
||||
}
|
||||
|
||||
func (ts *TarSum) GetSums() map[string]string {
|
||||
func (ts *tarSum) GetSums() map[string]string {
|
||||
return ts.sums
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче