forked from cosmos/cosmos-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove baseapp dependency on the version package (cosmos#4250)
The version package is meant to be a convenience utility that provides SDK consumers with a ready-to-use version command that produces app's versioning information from flags passed at compile time. It will not make sense anymore for the baseapp package to depend on the version package once gaia will have been migrated away from the SDK main repository as we neither want to make assumptions nor set expectations on downstream apps buildsystems. Thus BaseApp now provides SetAppVersion() and AppVersion() to to allow SDK consumers to set BaseApp's version information string once the struct is initialised.
- Loading branch information
Alessio Treglia
authored
May 2, 2019
1 parent
114de63
commit 38f9312
Showing
10 changed files
with
84 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#4250 BaseApp.Query() returns app's version string set via BaseApp.SetAppVersion() | ||
when handling /app/version queries instead of the version string passed as build | ||
flag at compile time. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#4250 New BaseApp.{,Set}AppVersion() methods to get/set app's version string. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,62 @@ | ||
//nolint | ||
// This package is a convenience utility that provides SDK | ||
// consumers with a ready-to-use version command that | ||
// produces apps versioning information based on flags | ||
// passed at compile time. | ||
// | ||
// Configure the version command | ||
// | ||
// The version command can be just added to your cobra root command. | ||
// At build time, the variables Name, Version, Commit, GoSumHash, and | ||
// BuildTags can be passed as build flags as shown in the following | ||
// example: | ||
// | ||
// go build -X github.com/cosmos/cosmos-sdk/version.Name=dapp \ | ||
// -X github.com/cosmos/cosmos-sdk/version.Version=1.0 \ | ||
// -X github.com/cosmos/cosmos-sdk/version.Commit=f0f7b7dab7e36c20b757cebce0e8f4fc5b95de60 \ | ||
// -X "github.com/cosmos/cosmos-sdk/version.BuildTags=linux darwin amd64" | ||
package version | ||
|
||
import ( | ||
"fmt" | ||
"runtime" | ||
) | ||
|
||
// Variables set by build flags | ||
var ( | ||
Commit = "" | ||
Version = "" | ||
// Application's name | ||
Name = "" | ||
// Application's version string | ||
Version = "" | ||
// Commit | ||
Commit = "" | ||
// Hash of the go.sum file | ||
GoSumHash = "" | ||
// Build tags | ||
BuildTags = "" | ||
) | ||
|
||
type versionInfo struct { | ||
CosmosSDK string `json:"cosmos_sdk"` | ||
Name string `json:"name"` | ||
Version string `json:"version"` | ||
GitCommit string `json:"commit"` | ||
GoSumHash string `json:"gosum_hash"` | ||
BuildTags string `json:"build_tags"` | ||
GoVersion string `json:"go"` | ||
} | ||
|
||
func (v versionInfo) String() string { | ||
return fmt.Sprintf(`cosmos-sdk: %s | ||
return fmt.Sprintf(`%s: %s | ||
git commit: %s | ||
go.sum hash: %s | ||
build tags: %s | ||
%s`, v.CosmosSDK, v.GitCommit, v.GoSumHash, v.BuildTags, v.GoVersion) | ||
%s`, v.Name, v.Version, v.GitCommit, v.GoSumHash, v.BuildTags, v.GoVersion) | ||
} | ||
|
||
func newVersionInfo() versionInfo { | ||
return versionInfo{ | ||
Name, | ||
Version, | ||
Commit, | ||
GoSumHash, | ||
BuildTags, | ||
fmt.Sprintf("go version %s %s/%s\n", runtime.Version(), runtime.GOOS, runtime.GOARCH)} | ||
fmt.Sprintf("go version %s %s/%s", runtime.Version(), runtime.GOOS, runtime.GOARCH)} | ||
} |