Documentation ¶
Index ¶
- Constants
- Variables
- func BinaryCacheDir() string
- func BinaryPath(build *Build) (string, error)
- func BinaryURL(build *Build) (*url.URL, error)
- func BinaryVersionExists(build *Build) (binpath string, exist bool, err error)
- func CurrentLatestRelease() (string, error)
- func DownloadBinary(build *Build) (string, error)
- func DownloadRoot() string
- func FindEmpiricaDir() (empiricaPath, basePath string, err error)
- func FindReleaseFilePath() (releaseFilePath, basePath string, err error)
- func LookupBinary() (string, error)
- func ReleaseFilePath() string
- func SaveReleaseFile(dir string) error
- func SaveReleaseFileVersion(dir string, build *Build) error
- func Version() string
- func VersionJSON() ([]byte, error)
- func VersionPath(version string) string
- func VersionString() string
- func VersionsBasePath() string
- type Build
- func Current() *Build
- func FindCurrentBinaryVersion() (*Build, error)
- func GetBinaryBuild(binpath string) (*Build, error)
- func GetInstalledVersions() ([]*Build, error)
- func GetLatestInstalledVersion() (*Build, error)
- func GetProjectRelease() (*Build, string, error)
- func NewDevBuild() *Build
- func NewProdBuild() *Build
- func NewVersionBuild(vers string) *Build
- func Parse(vstr string) (*Build, error)
- type Builds
- type VersionComponent
Constants ¶
const ( BuildSelectionEnvVar = "EMPIRICA_BUILD" DebugBuildEnvVar = "EMPIRICA_DEBUG_BUILD" DownloadRootEnvVar = "EMPIRICA_DOWNLOAD_ROOT" BinaryDirName = "bin" )
const ( EmpiricaPackageName = "@empirica/core" EmpiricaLatestReleasePath = "https://api.github.com/repos/empiricaly/empirica/releases/latest" )
Variables ¶
var ( ErrBuildMissing = errors.New("build info missing") ErrBuildEmpty = errors.New("build info empty") ErrEmpiricaDirNotFound = errors.New("empirica dir not found") )
var Branch string
Branch holds the git branch of the build.
var BuildNum string
BuildNum holds the build build (123).
var DevBuild string
DevBuild is "true" if this is a development build.
var ErrEmptyBuild = errors.New("empty build")
var ErrNoInstalledVersions = errors.New("no installed versions")
errNoInstalledVersions is returned when no versions are installed, which would imply we are running empirica without the proxy.
var SHA string
SHA holds the build Git commit SHA1.
var Tag string
Tag holds the git tag of the build.
var Time string
Time holds the build time.
Functions ¶
func BinaryCacheDir ¶ added in v1.4.3
func BinaryCacheDir() string
The binary directory is where we store the downloaded binaries.
func BinaryPath ¶ added in v1.4.3
func BinaryVersionExists ¶ added in v1.4.3
func CurrentLatestRelease ¶ added in v1.4.3
CurrentLatestRelease returns the latest version of empirica
func DownloadBinary ¶
func DownloadRoot ¶
func DownloadRoot() string
func FindEmpiricaDir ¶ added in v1.3.3
func FindReleaseFilePath ¶ added in v1.3.3
func LookupBinary ¶
func ReleaseFilePath ¶
func ReleaseFilePath() string
func SaveReleaseFile ¶
func SaveReleaseFileVersion ¶
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 VersionJSON ¶ added in v1.6.1
func VersionPath ¶ added in v1.4.3
func VersionString ¶
func VersionString() string
func VersionsBasePath ¶ added in v1.4.3
func VersionsBasePath() 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 FindCurrentBinaryVersion ¶ added in v1.4.3
FindCurrentBinaryVersion returns which binary version should be used. It will try to in order to: - use environement variable override EMPIRICA_BUILD - look for the version lock in the .empirica/release file - use the latest installed version.
func GetBinaryBuild ¶
func GetInstalledVersions ¶ added in v1.4.3
func GetLatestInstalledVersion ¶ added in v1.4.3
func GetProjectRelease ¶ added in v1.3.3
Return project build and root path, or and error if we're not in a project or we could not parse the release file.
func NewDevBuild ¶
func NewDevBuild() *Build
func NewProdBuild ¶
func NewProdBuild() *Build
func NewVersionBuild ¶ added in v1.4.3
func (*Build) PathComponents ¶
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 ¶
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".