github.com/hartzell/terraform@v0.8.6-0.20180503104400-0cc9e050ecd4/version/version.go (about)

     1  // The version package provides a location to set the release versions for all
     2  // packages to consume, without creating import cycles.
     3  //
     4  // This pckage should not import any other terraform packages.
     5  package version
     6  
     7  import (
     8  	"fmt"
     9  
    10  	version "github.com/hashicorp/go-version"
    11  )
    12  
    13  // The main version number that is being run at the moment.
    14  const Version = "0.11.8"
    15  
    16  // A pre-release marker for the version. If this is "" (empty string)
    17  // then it means that it is a final release. Otherwise, this is a pre-release
    18  // such as "dev" (in development), "beta", "rc1", etc.
    19  var Prerelease = "dev"
    20  
    21  // SemVer is an instance of version.Version. This has the secondary
    22  // benefit of verifying during tests and init time that our version is a
    23  // proper semantic version, which should always be the case.
    24  var SemVer = version.Must(version.NewVersion(Version))
    25  
    26  // Header is the header name used to send the current terraform version
    27  // in http requests.
    28  const Header = "Terraform-Version"
    29  
    30  // String returns the complete version string, including prerelease
    31  func String() string {
    32  	if Prerelease != "" {
    33  		return fmt.Sprintf("%s-%s", Version, Prerelease)
    34  	}
    35  	return Version
    36  }