github.com/hashicorp/terraform-plugin-sdk@v1.17.2/internal/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 package 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  var Version = "0.12.7"
    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 = "sdk"
    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.Version
    25  
    26  func init() {
    27  	SemVer = version.Must(version.NewVersion(Version))
    28  }
    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  }