build

package
v1.0.0-rc.21 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2022 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BuildSelectionEnvVar = "EMPIRICA_BUILD"
	DebugBuildEnvVar     = "EMPIRICA_DEBUG_BUILD"
	DownloadRootEnvVar   = "EMPIRICA_DOWNLOAD_ROOT"
	BinaryDirName        = "binaries"
)

Variables

View Source
var (
	ErrBuildMissing = errors.New("build info missing")
	ErrBuildEmpty   = errors.New("build info empty")
)
View Source
var Branch string

Branch holds the git branch of the build.

View Source
var BuildNum string

BuildNum holds the build build (123).

View Source
var DevBuild string

DevBuild is "true" if this is a development build.

View Source
var ErrBuildNotFound = errors.New("build version not found")
View Source
var ErrEmptyBuild = errors.New("empty build")

SHA holds the build Git commit SHA1.

Tag holds the git tag of the build.

View Source
var Time string

Time holds the build time.

Functions

func BinaryURL

func BinaryURL(build *Build) (*url.URL, error)

func DownloadBinary

func DownloadBinary(build *Build) (string, error)

func DownloadRoot

func DownloadRoot() string

func LookupBinary

func LookupBinary() (string, error)

func ReleaseFilePath

func ReleaseFilePath() string

func SaveReleaseFile

func SaveReleaseFile(dir string) error

func SaveReleaseFileVersion

func SaveReleaseFileVersion(dir string, build *Build) error

func Version

func Version() string

Version return the build version (vX.Y.Z) at build time. Returns "" if this build was not a tagged version.

func VersionString

func VersionString() string

Types

type Build

type Build struct {
	DevBuild string `json:"dev,omitempty" yaml:"dev,omitempty"`
	Version  string `json:"version,omitempty" yaml:"version,omitempty"`
	SHA      string `json:"sha,omitempty" yaml:"sha,omitempty"`
	BuildNum string `json:"build,omitempty" yaml:"build,omitempty"`
	Tag      string `json:"tag,omitempty" yaml:"tag,omitempty"`
	Branch   string `json:"branch,omitempty" yaml:"branch,omitempty"`
	Time     string `json:"time,omitempty" yaml:"time,omitempty"`
	// contains filtered or unexported fields
}

func BinaryVersion

func BinaryVersion() (*Build, error)

BinaryVersion returns which binary version should be used. It will first use the environement variable override, then try to look for the version lock file inside a project.

func Current

func Current() *Build

func GetBinaryBuild

func GetBinaryBuild(binpath string) (*Build, error)

func (*Build) Empty

func (b *Build) Empty() bool

func (*Build) PathComponents

func (b *Build) PathComponents(generic bool) (components []string, err error)

PathComponents returns all paths components (x/y/z) for this version: E.g. "version/v1.2.3", "sha/abcdefg", "build/123", "tag/v1.2.3", "branch/master".

func (*Build) PreferedPathComponent

func (b *Build) PreferedPathComponent() (components string, err error)

PreferedPathComponent returns the path component (x/y/z) that best identify this version, with the following precedence: - version - sha - build - tag - branch E.g. If version == "v1.2.3", then the path components are "version/v1.2.3".

func (*Build) String

func (b *Build) String() string

type VersionComponent

type VersionComponent struct {
	Key   string
	Value string
}

Jump to

Keyboard shortcuts

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