archive

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2022 License: MIT Imports: 8 Imported by: 5

Documentation

Overview

Helper methods for working with archived/compressed files.

These functions are separated into their own package to limit the dependencies pulled in when using magex if you are not using archived files.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func DownloadToGopathBin

func DownloadToGopathBin(opts DownloadArchiveOptions) error

DownloadToGopathBin downloads an archived file to GOPATH/bin.

Example
package main

import (
	"log"

	"github.com/carolynvs/magex/pkg/archive"
	"github.com/carolynvs/magex/pkg/downloads"
	"github.com/carolynvs/magex/pkg/gopath"
)

func main() {
	opts := archive.DownloadArchiveOptions{
		DownloadOptions: downloads.DownloadOptions{
			UrlTemplate: "https://get.helm.sh/helm-{{.VERSION}}-{{.GOOS}}-{{.GOARCH}}{{.EXT}}",
			Name:        "helm",
			Version:     "v3.5.3",
		},
		ArchiveExtensions: map[string]string{
			"darwin":  ".tar.gz",
			"linux":   ".tar.gz",
			"windows": ".zip",
		},
		TargetFileTemplate: "{{.GOOS}}-{{.GOARCH}}/helm{{.EXT}}",
	}
	err := archive.DownloadToGopathBin(opts)
	if err != nil {
		log.Fatal("could not download helm")
	}

	// Add GOPATH/bin to PATH if necessary so that we can immediately
	// use the installed tool
	gopath.EnsureGopathBin()
}
Output:

func ExtractBinaryFromArchiveHook

func ExtractBinaryFromArchiveHook(opts DownloadArchiveOptions) downloads.PostDownloadHook

ExtractBinaryFromArchiveHook is the default hook for DownloadToGopathBin.

Types

type DownloadArchiveOptions

type DownloadArchiveOptions struct {
	downloads.DownloadOptions

	// ArchiveExtensions maps from the GOOS to the expected extension. Required.
	// For example, windows may use .zip while darwin/linux uses .tgz.
	ArchiveExtensions map[string]string

	// TargetFileTemplate specifies the path to the target binary in the archive. Required.
	// Supports the same templating as downloads.DownloadOptions.UrlTemplate.
	TargetFileTemplate string
}

DownloadArchiveOptions are the set of options available for DownloadToGopathBin.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL