Package version contains versioning information for juju. It also acts as guardian of the current client Juju version number.
const ( // TreeStateDirty when the build was made with a dirty checkout. TreeStateDirty = "dirty" // TreeStateClean when the build was made with a clean checkout. TreeStateClean = "clean" // TreeStateArchive when the build was made outside of a git checkout. TreeStateArchive = "archive" )
const UserAgentVersion = "Juju/" + version
UserAgentVersion defines a user agent version used for communication for outside resources.
Compiler is the go compiler used to build the binary.
Current gives the current version of the system. If the file "FORCE-VERSION" is present in the same directory as the running binary, it will override this.
GitCommit represents the git commit sha used to build the binary. Generated by the Makefile.
GitTreeState is "clean" when built from a working copy that matches the GitCommit treeish. Generated by the Makefile.
var OfficialBuild = mustParseBuildInt(build)
OfficialBuild is a monotonic number injected by Jenkins.
func CheckJujuMinVersion ¶
CheckJujuMinVersion returns an error if the specified version to check is less than the current Juju version.
func DefaultSupportedLTS ¶
func DefaultSupportedLTS() string
DefaultSupportedLTS returns the latest LTS that Juju supports and is compatible with.
IsDev returns whether the version represents a development version. A version with a tag or a nonzero build component is considered to be a development version. Versions older than or equal to 1.19.3 (the switch over time) check for odd minor versions.