mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-23 23:22:57 -06:00
6fe2703665
* Remove `make updatedeps` from Travis build. We'll follow up with more specific plans around dependency updating in subsequent PRs. * Update all `make` targets to set `GO15VENDOREXPERIMENT=1` and to filter out `/vendor/` from `./...` where appropriate. * Temporarily remove `vet` from the `make test` target until we can figure out how to get it to not vet `vendor/`. (Initial experimentation failed to yield the proper incantation.) Everything is pinned to current master, with the exception of: * Azure/azure-sdk-for-go which is pinned before the breaking change today * aws/aws-sdk-go which is pinned to the most recent tag The documentation still needs to be updated, which we can do in a follow up PR. The goal here is to unblock release.
30 lines
951 B
Go
30 lines
951 B
Go
package getter
|
|
|
|
// Decompressor defines the interface that must be implemented to add
|
|
// support for decompressing a type.
|
|
type Decompressor interface {
|
|
// Decompress should decompress src to dst. dir specifies whether dst
|
|
// is a directory or single file. src is guaranteed to be a single file
|
|
// that exists. dst is not guaranteed to exist already.
|
|
Decompress(dst, src string, dir bool) error
|
|
}
|
|
|
|
// Decompressors is the mapping of extension to the Decompressor implementation
|
|
// that will decompress that extension/type.
|
|
var Decompressors map[string]Decompressor
|
|
|
|
func init() {
|
|
tbzDecompressor := new(TarBzip2Decompressor)
|
|
tgzDecompressor := new(TarGzipDecompressor)
|
|
|
|
Decompressors = map[string]Decompressor{
|
|
"bz2": new(Bzip2Decompressor),
|
|
"gz": new(GzipDecompressor),
|
|
"tar.bz2": tbzDecompressor,
|
|
"tar.gz": tgzDecompressor,
|
|
"tbz2": tbzDecompressor,
|
|
"tgz": tgzDecompressor,
|
|
"zip": new(ZipDecompressor),
|
|
}
|
|
}
|