github.com/palisadeinc/bor@v0.0.0-20230615125219-ab7196213d15/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 = 0        // Major version component of the current release
    25  	VersionMinor = 3        // Minor version component of the current release
    26  	VersionPatch = 9        // Patch version component of the current release
    27  	VersionMeta  = "stable" // Version metadata to append to the version string
    28  )
    29  
    30  var GitCommit string
    31  
    32  // Version holds the textual version string.
    33  var Version = func() string {
    34  	return fmt.Sprintf("%d.%d.%d", VersionMajor, VersionMinor, VersionPatch)
    35  }()
    36  
    37  // VersionWithMeta holds the textual version string including the metadata.
    38  var VersionWithMeta = func() string {
    39  	v := Version
    40  	if VersionMeta != "" {
    41  		v += "-" + VersionMeta
    42  	}
    43  	return v
    44  }()
    45  
    46  // VersionWithCommitDetails holds the textual version string including the metadata and Git Details.
    47  var VersionWithMetaCommitDetails = func() string {
    48  	v := Version
    49  	if VersionMeta != "" {
    50  		v += "-" + VersionMeta
    51  	}
    52  	v_git := fmt.Sprintf("Version: %s\nGitCommit: %s", v, GitCommit)
    53  	return v_git
    54  }()
    55  
    56  // ArchiveVersion holds the textual version string used for Geth archives.
    57  // e.g. "1.8.11-dea1ce05" for stable releases, or
    58  //
    59  //	"1.8.13-unstable-21c059b6" for unstable releases
    60  func ArchiveVersion(gitCommit string) string {
    61  	vsn := Version
    62  	if VersionMeta != "stable" {
    63  		vsn += "-" + VersionMeta
    64  	}
    65  	if len(gitCommit) >= 8 {
    66  		vsn += "-" + gitCommit[:8]
    67  	}
    68  	return vsn
    69  }
    70  
    71  func VersionWithCommit(gitCommit, gitDate string) string {
    72  	vsn := VersionWithMeta
    73  	if len(gitCommit) >= 8 {
    74  		vsn += "-" + gitCommit[:8]
    75  	}
    76  	if (VersionMeta != "stable") && (gitDate != "") {
    77  		vsn += "-" + gitDate
    78  	}
    79  	return vsn
    80  }