mirror of
https://github.com/status-im/consul.git
synced 2025-01-09 21:35:52 +00:00
5fb9df1640
* Adding explicit MPL license for sub-package This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository. * Adding explicit MPL license for sub-package This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository. * Updating the license from MPL to Business Source License Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at <Blog URL>, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl. * add missing license headers * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 * Update copyright file headers to BUSL-1.1 --------- Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
76 lines
2.0 KiB
Go
76 lines
2.0 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package version
|
|
|
|
import (
|
|
_ "embed"
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
var (
|
|
// The git commit that was compiled. These will be filled in by the
|
|
// compiler.
|
|
GitCommit string
|
|
|
|
// The next version number that will be released. This will be updated after every release
|
|
// Version must conform to the format expected by github.com/hashicorp/go-version
|
|
// for tests to work.
|
|
// A pre-release marker for the version can also be specified (e.g -dev). If this is omitted
|
|
// then it means that it is a final release. Otherwise, this is a pre-release
|
|
// such as "dev" (in development), "beta", "rc1", etc.
|
|
//go:embed VERSION
|
|
fullVersion string
|
|
|
|
Version, VersionPrerelease, _ = strings.Cut(strings.TrimSpace(fullVersion), "-")
|
|
|
|
// https://semver.org/#spec-item-10
|
|
VersionMetadata = ""
|
|
|
|
// The date/time of the build (actually the HEAD commit in git, to preserve stability)
|
|
// This isn't just informational, but is also used by the licensing system. Default is chosen to be flagantly wrong.
|
|
BuildDate string = "1970-01-01T00:00:01Z"
|
|
)
|
|
|
|
// BuildInfo includes all available version info for this build
|
|
type BuildInfo struct {
|
|
SHA string
|
|
BuildDate string
|
|
HumanVersion string
|
|
FIPS string
|
|
}
|
|
|
|
// GetHumanVersion composes the parts of the version in a way that's suitable
|
|
// for displaying to humans.
|
|
func GetHumanVersion() string {
|
|
version := Version
|
|
release := VersionPrerelease
|
|
metadata := VersionMetadata
|
|
|
|
if release != "" {
|
|
version += fmt.Sprintf("-%s", release)
|
|
}
|
|
|
|
if IsFIPS() {
|
|
version += ".fips1402"
|
|
}
|
|
|
|
if metadata != "" {
|
|
version += fmt.Sprintf("+%s", metadata)
|
|
}
|
|
|
|
// Strip off any single quotes added by the git information.
|
|
return strings.ReplaceAll(version, "'", "")
|
|
}
|
|
|
|
// GetBuildInfo returns all available version information for this build.
|
|
func GetBuildInfo() *BuildInfo {
|
|
return &BuildInfo{
|
|
SHA: GitCommit,
|
|
BuildDate: BuildDate,
|
|
HumanVersion: GetHumanVersion(),
|
|
FIPS: GetFIPSInfo(),
|
|
}
|
|
}
|