github.com/mprishchepo/go-ethereum@v1.9.7-0.20191031044858-21506be82b68/params/version.go (about)

     1  // Copyright 2016 The go-ethereum Authors
     2  // This file is part of the go-ethereum library.
     3  //
     4  // The go-ethereum library is free software: you can redistribute it and/or modify
     5  // it under the terms of the GNU Lesser General Public License as published by
     6  // the Free Software Foundation, either version 3 of the License, or
     7  // (at your option) any later version.
     8  //
     9  // The go-ethereum library is distributed in the hope that it will be useful,
    10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    12  // GNU Lesser General Public License for more details.
    13  //
    14  // You should have received a copy of the GNU Lesser General Public License
    15  // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
    16  
    17  package params
    18  
    19  import (
    20  	"fmt"
    21  )
    22  
    23  const (
    24  	VersionMajor = 1          // Major version component of the current release
    25  	VersionMinor = 9          // Minor version component of the current release
    26  	VersionPatch = 7          // Patch version component of the current release
    27  	VersionMeta  = "unstable" // Version metadata to append to the version string
    28  )
    29  
    30  // Version holds the textual version string.
    31  var Version = func() string {
    32  	return fmt.Sprintf("%d.%d.%d", VersionMajor, VersionMinor, VersionPatch)
    33  }()
    34  
    35  // VersionWithMeta holds the textual version string including the metadata.
    36  var VersionWithMeta = func() string {
    37  	v := Version
    38  	if VersionMeta != "" {
    39  		v += "-" + VersionMeta
    40  	}
    41  	return v
    42  }()
    43  
    44  // ArchiveVersion holds the textual version string used for Geth archives.
    45  // e.g. "1.8.11-dea1ce05" for stable releases, or
    46  //      "1.8.13-unstable-21c059b6" for unstable releases
    47  func ArchiveVersion(gitCommit string) string {
    48  	vsn := Version
    49  	if VersionMeta != "stable" {
    50  		vsn += "-" + VersionMeta
    51  	}
    52  	if len(gitCommit) >= 8 {
    53  		vsn += "-" + gitCommit[:8]
    54  	}
    55  	return vsn
    56  }
    57  
    58  func VersionWithCommit(gitCommit, gitDate string) string {
    59  	vsn := VersionWithMeta
    60  	if len(gitCommit) >= 8 {
    61  		vsn += "-" + gitCommit[:8]
    62  	}
    63  	if (VersionMeta != "stable") && (gitDate != "") {
    64  		vsn += "-" + gitDate
    65  	}
    66  	return vsn
    67  }