github.com/cloudfoundry-incubator/stembuild@v0.0.0-20211223202937-5b61d62226c6/version/get_versions.go (about)

     1  package version
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  )
     7  
     8  type VersionGetterModifier interface {
     9  	Modify(*VersionGetter)
    10  }
    11  
    12  func NewVersionGetter(modifiers ...VersionGetterModifier) *VersionGetter {
    13  	v := &VersionGetter{
    14  		Version: Version,
    15  	}
    16  
    17  	for _, modifier := range modifiers {
    18  		modifier.Modify(v)
    19  	}
    20  
    21  	return v
    22  }
    23  
    24  type VersionGetter struct {
    25  	Version string
    26  }
    27  
    28  func (v *VersionGetter) GetVersion() string {
    29  	stringArr := strings.Split(v.Version, ".")
    30  	stringArr = stringArr[0:2]
    31  
    32  	return strings.Join(stringArr, ".")
    33  }
    34  
    35  func (v *VersionGetter) GetVersionWithPatchNumber(patchNumber string) string {
    36  	return fmt.Sprintf("%s.%s", v.GetVersion(), patchNumber)
    37  }
    38  
    39  func (v *VersionGetter) GetOs() string {
    40  	stringArr := strings.Split(v.Version, ".")
    41  	os := stringArr[0]
    42  
    43  	if os == "1200" {
    44  		return "2012R2"
    45  	}
    46  
    47  	return os
    48  }
    49  
    50  var Version = "dev"